正则表达式,可以当作是通配符的增强版。它所作的事情就是帮你匹配指定规则的字符串。
限定符
问号(?)代表前面这个字符可以出现0次或者1次(可有可无)。
星号(*) 代表前面这个字符可以出现0次或者多次。
加号(+) 代表前面这个字符需要出现1次及以上。
{n}限定前面这个字符需要出现n次。
{n,m}限定前面这个字符需要出现n-m次。
{n,}限定前面这个字符需要出现n次。
或运算
a (cat|dog)
字符类
[]方括号里的内容代表要求匹配的字符只能取自于它们。
可以在方括号里指定字符的范围,[a-z]代表所有的小写英文字母。
[a-zA-Z]代表所有的英文字符。
[a-zA-Z0-9]代表所有的英文字符和数字。
[^0-9]代表所有的非数字字符(包括换行符)。
元字符
预先定义好的一系列常用的字符类型,正则表达式中大多数元字符都是以反斜杠开头。
\d代表数字字符等于[0-9]。
\w代表所有的单词字符,也就是所有的英文字符。
\s代表空白符,同时包含Tab字符(制表符)以及换行符。
\b代表一个单词的开头或结尾,可以理解为了保持空白。
\D代表非数字字符。
\S代表非空白字符。
.代表任意字符,但不包含换行符。
^匹配行首,$匹配行尾
贪婪与懒惰匹配
<.+>-><.+?>
将贪婪匹配转换成懒惰匹配。
参考资料:10分钟快速掌握正则表达式