想要匹配某些具体的特殊符号,比如+[.?^{|\,需要在前面加上一个转义字符\ 。比如通过 \. 去匹配.号。
由于元字符一般会放在字符串中,所以需要转义,也就是\会变成 \\ 。
而.l+.则表示以任意非\n开始,中间包含至少一个l字符,并且以任意非\n字符结束。
^cat : 字符串以c开头紧接着是a,然后是t。
cat$ : 字符串以t结尾倒数第二个字符为a倒数第三个字符为c。
\d表示一个整数,\d{4}表示4个整数,\d+表示任意个整数。\D+表示任意个非整数
\d{4}-\d{2}-\d{2}表示年月日,比如2016-05-05 。
\s表示一个空白字符(如空格、制表符、换页符等等),\s+表示任意多的空白字符。
\S表示任何一个非空白字符。\S+表示任意多的非空白字符。
\p{Upper}{2}表示2个大写字母。\p{Lower}{3}表示3个小写字母。
*表示零次或多次,+表示至少一次,?表示最多一次。{n}表示n次,{n,}表示至少n次。
[1-9]表示数字,[1-9]+表示至少一个数字。
[A-Za-z]表示一个任意字母。[A-Za-z]+表示任意多个字母。
中括号内的^表示非。[^xyz]表示任意不包含xyz的字符。比如123,abc之类的。
参考资料:
https://www.runoob.com/regexp/regexp-syntax.html
https://www.cnblogs.com/zery/p/3438845.html
原文:https://www.cnblogs.com/expiator/p/12250598.html