1

匹配单个字符

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

匹配一组字符

  • []定义一个字符集合。
  • 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个字符。

字符串边界

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

dack
98 声望18 粉丝

一直在路上


引用和评论

0 条评论