全网最易懂的正则表达式教程(2)- 特殊单字符和空白符
正则详细教程系列可以看此链接的文章哦
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] 空白符集合
总结
- 如果需要匹配一些元字符包含的符号,譬如 \ , . 、 ^ 需要加上转义符 \
- 记住一个元字符只会匹配一个字符,如果需要匹配多个字符则需要多个元字符