正则表达式简介

正则表达式:用于描述特定字符串模式的表达式。元字符M1, M2, ...数量修饰符N1, N2, ...

常见正则表达式形式则为M1N1M2N2...

元字符 含义
. 处\n外任意字符
[0-9] 数字
[A-Z] 大写字母
[a-z] 小写字母
[0-9a-zA-Z] 数字或字母
\d 数字
\w 字母
\s 空白符
\需转义字符 需转义字符
a a
ab1 ab1
12 12
数量修饰符 含义
{n} 重复n次
{m, n} 重复m-n次
* 重复0,1或任意次
+ 重复1或任意次
? 重复0次或1次
位置修饰符 含义
^ ^\d表示以一个数字开头
$ \w$表示以一个字母结尾

技巧

  • 在正则表达式中加入()来提取子串。如:将a(\d{3})a作用到a111a上面会得到111
  • 正则表达式默认为贪婪匹配(能匹配的结果中取最长那个)。若要切换到非贪婪匹配则在数量修饰符后加上?
  • .*代表任意长度的字符,默认匹配最大长度的字符串。.*?同上,但匹配最小长度的字符串。