全网最易懂的正则表达式教程(2)- 特殊单字符和空白符

简介: 全网最易懂的正则表达式教程(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] 空白符集合

 

总结


  • 如果需要匹配一些元字符包含的符号,譬如  \  , .^ 需要加上转义符 \
  • 记住一个元字符只会匹配一个字符,如果需要匹配多个字符则需要多个元字符
相关文章
|
4月前
正则表达式的限定符、或运算符、字符类、元字符、贪婪/懒惰匹配
本文介绍了正则表达式中的限定符、或运算符、字符类、元字符以及贪婪与懒惰匹配的概念和用法。
43 5
|
4月前
|
Python
【Python】正则表达式判断是否存在连续相同的两个字符,连续两个字符一模一样
Python函数isContinuousChar,使用正则表达式来检测字符串中是否存在连续的相同字母或数字,并返回存在此类字符的列表长度,如果列表长度为0则表示不存在连续相同的字符。
164 2
|
5月前
|
关系型数据库 MySQL
MySQL 保姆级教程(七):用正则表达式进行搜索
MySQL 保姆级教程(七):用正则表达式进行搜索
|
6月前
|
人工智能 Java 数据格式
JavaSE——正则表达式(1/2):概述、初步使用(普通方法,正则表达式)、书写规则(字符类,预定义字符,数量词,其他,特殊案例)
JavaSE——正则表达式(1/2):概述、初步使用(普通方法,正则表达式)、书写规则(字符类,预定义字符,数量词,其他,特殊案例)
48 3
|
5月前
|
数据采集 监控 Java
正则表达式教程:从入门到实战应用
正则表达式教程:从入门到实战应用
|
6月前
|
数据采集 监控 Java
正则表达式教程:从入门到实战应用
正则表达式教程:从入门到实战应用
|
7月前
|
Java
Java正则表达式去掉非汉字字符
【5月更文挑战第11天】Java正则表达式去掉非汉字字符
154 3
|
7月前
|
监控 JavaScript 前端开发
|
7月前
|
Perl
Perl 教程 之 Perl 正则表达式 7
Perl教程讲解了其强大的正则表达式功能,用于字符串匹配、查找、替换和提取。示例展示如何使用`/s`删除变量`$string`中的重复字符,输出结果为原字符串。其他实例包括将非数字字符替换为空格,删除tab和空格,以及将数字间字符替换为单个空格。
55 3
|
7月前
|
Perl
Perl 教程 之 Perl 正则表达式 6
**Perl正则表达式强大多能,常用于字符串匹配、替换和提取。转化操作符如`tr`用于字符转换,如将所有小写字母转大写:`$string =~ tr/a-z/A-Z/`。**
54 2