正则表达式

匹配单个字符

  • .可以用来匹配任何的单个字符,但是在绝大多数实现里面,不能匹配换行符。
  • .是元字符,表示它有特殊含义,而不是字符本身的含义。
  • 如果需要匹配.,那么要用进行转义,即在.前面加上。
  • 正则一般区分大小写的,但是也有些实现不区分。

匹配一组字符

  • []定义一个字符集合。
  • 0-9a-z定义了一个字符区间,区间使用ASCII码来确定,字符区间在[]中使用。
  • -只有在[]之间才是元字符,在[]之外就是一个普通字符。
  • ^[]中是取非操作。

使用元字符

空白字符

元字符说明
[\b]回退(删除)一个字符
\f换页符
\n换行符
\r回车符
\t制表符
\v垂直制表符

\r\n 是 Windows 中的文本行结束标签,在 Unix/Linux 则是 \n

特定字符

数字元字符

元字符说明
\d数字字符,等价于[0-9]
\d非数字字符,等价于[^0-9]

字符数字字符

元字符说明
\w大小写字符,下划线和数字,等价于[a-zA-Z0-9_]
\w对\w取非

空白字符匹配

元字符说明
\s任何一个空白字符,等价于[fnrtv]
\s对\s取非

重复匹配

  • +匹配一个或多个
  • *匹配0个或多个
  • ?匹配0个或1个

匹配邮箱:

[\w.]+@\w+\.\w+
  • {n}匹配n个字符
  • {m,n}匹配m~n个字符
  • {m,}至少匹配m个字符

位置匹配

单词匹配

  • \b可以匹配一个单词的边界,边界是指位于\w\w之间的位置;\b匹配一个不是单词边界的位置。
  • \b只匹配位置,不匹配字符,因此\babc\b匹配出来的结果为3个字符。

字符串边界

  • ^匹配整个字符串的开头,$匹配结尾。
  • ^元字符在字符集合中用作求非,在字符集合外用作匹配字符串的开头。

相关推荐