元字符

语法描述
.匹配任意单个字符,除了换行符
b匹配一个单词限定,单词的开头和结尾不包含"显式字符"
[^]否定的字符种类。匹配除了方括号里的任意字符
/d匹配数字:[0-9]
/D匹配非数字:[^0-9]
/s匹配所有空格字符,等同于:[\t\n\f\r\p{Z}]
/S匹配所有非空格字符:[^s]
/w匹配所有字母数字,等同于:[a-zA-Z0-9_]
/W匹配所有非字母数字,即符号,等同于:[^w]

重复模式

语法描述
*在*号之前的字符,重复零次或更多次
+在+号之前的字符,重复一次或更多次
?在?号之前的字符,重复零次或一次
{n}重复n次
{n,}重复n次或更多次
{n,m}重复n次到m次

运算符

语法: |
举例:

(fat|mat) 这个表达式 匹配 fat 或者 mat, d{2}|0d{3} 这个表达式 匹配0d{2}如果匹配到数据后面不进行匹配,否则接着继续匹配后面0d{3}

贪婪与懒惰

语法描述
*?重复任意次,但尽可能少重复
+?重复一次或更多次,但尽可能少重复
??重复零次或一次,但尽可能少重复
{n,m}?重复n到m次,但尽可能少重复
{n,}?重复n次以上,但尽可能少重复

分组

  • 将子表达式进行做成子集
  • 使用()进行分组
  • 方便对match的字符串进行划分
  • (d{1,3}.){3}d{1,3}
  • 分组的命名:(?exp)
  • (?:exp) 匹配exp,不捕获匹配的文本,也不给次分组分配组号

最后修改:2020 年 04 月 30 日 10 : 19 PM
如果觉得我的文章对你有用,请随意赞赏