正则详细教程系列可以看此链接的文章哦

https://www.cnblogs.com/poloyy/category/1796055.html

 

特殊单字符和空白符

元字符 说明
. 匹配除换行符以外的任意字符
\w 匹配字母或数字或下划线
\W 和 \w 相反
\d 匹配数字
\D 和 \d 相反
\s 匹配任意的空白符
\S 和 \s 相反

 

. 的栗子

first

匹配文本 abcde\n
正则表达式  .
匹配数量 7
匹配结果 a、b、c、d、e、\ 、n

 

second

匹配文本 abcde\nabc
正则表达式  ab.
匹配数量 2
匹配结果 abc、abc

 

third

匹配文本 c:\poloyy
正则表达式  ..\\ 
匹配数量 1
匹配结果 c:\

 

\w 的栗子

first

匹配文本 0198aAzZ\w哎_-
正则表达式  \w 
匹配数量 10
匹配结果 0、1、9、8、a、A、z、Z、w、_

 

second

匹配文本 0198aAzZ\w哎_-
正则表达式  \w.\w 
匹配数量 3
匹配结果

019、8aA、Z\w

 

third

匹配文本 0198aAzZ\w哎_-
正则表达式  \w.\\w 
匹配数量 1
匹配结果

zZ\w

 

总结

有些文章会说 \w  也能匹配汉字,但实际测试中是并不能匹配的哦,需要注意(也有可能在特定场景或环境下是可以匹配的)

 

\d 的栗子

first

匹配文本 123阿a\
正则表达式  \d 
匹配数量 3
匹配结果 1、2、3

 

second

匹配文本 12a3阿a\
正则表达式  \d\w\d. 
匹配数量 1
匹配结果 2a3阿

 

空白符讲解

不同系统在每行文本结束位置会有换行符,但不同系统的换行符会不一样

系统 换行符
Windows \r\n
Linux \n
macOS \n

 

在正则中,也可以直接使用 \r 、 \n 来匹配对应的空白符

当然, \s 已经可以满足大部分空白符场景,它代表任意单个空白符,相当于 [\r\n\t\f] 空白符集合

 

总结

  • 如果需要匹配一些元字符包含的符号,譬如  \  , . 、 ^ 需要加上转义符 \
  • 记住一个元字符只会匹配一个字符,如果需要匹配多个字符则需要多个元字符