简单的模式匹配

字符串字面值

匹配字符串字面值,就是以逐个字符对应的方式匹配文本字符串;跟在Word等字处理程序中使用查找或者在百度等搜索引擎中输入关键字类似。
比如要匹配单词Good,就使用Good来匹配。

数字

  • \d
  • [0-9]
  • [0123456789]
    上面三个等价,匹配任意一个数字
    如果只想匹配某几个数字,列出来,比如:
  • [012]
  • [457]

非数字

  • \D
  • [^0-9] 字符组取反
  • [^\d]

单词字符

  • \w
  • [_a-zA-Z0-9]
    匹配字母,数字和下划线

非单词字符

  • \W

空白符

  • \s
  • [ \t\n\r] 注意方括号内有一个空格
    匹配空格,制表符,换行符,回车符。
字符简写式 描述
\n 换行符
\r 回车符
\s 空白符
\t 水平制表符
\v 垂直制表符
\f 换页符
\h 水平空白符

任意字符

点号(U+002E) 可以匹配除行结束符之外的所有字符。

  • .{8} 匹配8个任意字符
  • .* 匹配0个,1个或多个任意字符
  • .+匹配1个或多个任意字符

字符组

相比字符简写式,字符组更有针对性,所以实际使用中 使用范围更广。

  • 比如匹配英文元音字母
    [aeiou]
  • 匹配10~19之间的偶数
    \b[1][24680]\b
  • 匹配0~99之间的偶数
    \b[24680]\b|\b[1-9][24680]\b

字符组内部也可以使用简写式
[\w\s]等价于[_a-zA-Z0-9 \t\n\r]

字符组取反

  • ^字符组起始位置的^符号表示不匹配这些字符,^必须出现在起始位置
    比如[^aeiou]表示匹配除了英文元音字符外的其他字符

你可能感兴趣的:(简单的模式匹配)