正则表达式是一组由字母和符号组成的特殊文本,它可以用来从文本中找出满足你想要的格式的句子。
限定符
? | 前面的字符出现0次或者1次 |
* | 前面的字符出现0次或者多次 |
+ | 前面的字符出现1次以上 |
{2} | 前面的字符出现2次 |
{2,4} | 前面的字符出现2~4次之间 |
{2,} | 前面的字符出现2次以上 |
{ab}+ | ab出现1次以上 |
a ( bb | cc ) | 匹配a bb或者a cc |
字符类
[abc] | 匹配的字符只能取自于abc |
[a-z] | 匹配所有的小写字母 |
[^0-9] | 匹配所有的非数字字符(包括换行符) |
元字符
\d | 数字字符==[0~9] |
\D | 非数字字符 |
\w | 单词字符(英文,数字,下划线) |
\W | 非单词字符 |
\s | 空白符(包含Tab和换行符) |
\S | 非空白符 |
. | 任意字符(除换行符之外) |
^ | 匹配行首 |
$ | 匹配行尾 |
\f | 匹配一个换页符 |
\n | 匹配一个换行符 |
\r | 匹配一个回车符 |
\t | 匹配一个制表符 |
\v | 匹配一个垂直制表符 |
\p | 匹配 CR/LF(等同于 \r\n ),用来匹配 DOS 行终止符 |
零宽度断言(前后预查)
?= | 正先行断言-存在 |
?! | 负先行断言-排除 |
?<= | 正后发断言-存在 |
?<! | 负后发断言-排除 |
标志
i | 忽略大小写 |
g | 全局搜索 |
m | 多行修饰符:锚点元字符 ^ $ 工作范围在每行的起始 |
贪婪与懒惰匹配
.+ | 默认贪婪匹配“任意字符” |
.+? | 懒惰匹配“任意字符” |
练习请戳这里!
更多正则表达式相关知识请戳这里!