元字符:
(大写表示非)
\d :数字字符
\w :单词字符
\s :空白符
\D :非数字字符
\W :非单词字符
\S :非空白字符
\b :单词边界
\B :非单词边界
.代表除换行符外任意字符,如果要匹配.需要用/.
?:(0/1)
表示?前边的字符需要出现0次或者1次
比如ad?可以匹配到a或者ad
* :(>=0)表示其前边的字符需要出现0次或者多次
比如a*可以匹配到a或者ad或者addddd
+ :(>=1)其前边的字符需要出现1次或者多次
{…} :里面代表匹配次数或匹配范围。比如ab{3}代表addd,ad{1,3}表示d的个数在1到3之间,ad{1,}代表d的个数大于等于1
对于多个字符的匹配,将要匹配的字符用括号扩起来即可,如(adc).
| :表示或,如(adc|ap),表示adc或ap
[adc]+表示要匹配的字符只能取材于a、d、c。[a-z]代表a…z,[A-Z]代表A…Z,[a-zA-Z]代表所有英语字符。如果在前面加上^,则代表匹配除[ ]里的所有字符。
^匹配行首,$匹配行尾。
一个测试正则表达式的网站:
https://regex101.com