正则表达式符号

发布于:2023-02-05 ⋅ 阅读:(733) ⋅ 点赞:(0)

 


 
 

  正则表达式是一些用来匹配和处理文本的字符串。正则表达式是用正则表达式语言创建的。本文介绍正则表达式语言的规则。
正则表达式可视化工具
 
 

基本的元字符

元字符 说明
. 匹配任意单个字符
| 逻辑或操作符
[ ] 匹配该字符集合中的一个字符
[ ^ ] 排除该字符集合
- 定义一个范围(例如 [A - Z] )
\ 对下一个字符转义

 
 

量词元字符

元字符 说明
* 匹配前一个字符(子表达式)的零次或多次重复
*? * 的懒惰型版本
+ 匹配前一个字符(子表达式)的一次或多次重复
+? + 的懒惰型版本
? 匹配前一个字符(子表达式)的零次或一次重复
{ n } 匹配前一个字符(子表达式)的 n 次重复
{ m, n } 匹配前一个字符(子表达式)的至少 m 次且至多 n 次重复
{ n, } 匹配前一个字符(子表达式)的 n 次或更多次重复
{ n, }? { n, }的懒惰型版本
  • 匹配8位数字的QQ号码:\d{8}

  • 匹配1开头11位数字的手机号码:1\d{10}

  • 匹配银行卡号是14~18位的数字:\d{14,18}

  • 匹配以a开头的,0个或多个b结尾的字符串: ab*

 
 

位置元字符

元字符 说明
^ 匹配字符串的开头
\A 匹配字符串的开头
$ 匹配字符串的结尾
\Z 匹配字符串的结尾
< 匹配单词的开头
> 匹配单词的结尾
\b 匹配单词边界(开头和结尾)
\B \b 的反义
  • 匹配8位数字的QQ号码:\d\d\d\d\d\d\d\d

  • 匹配1开头11位数字的手机号码:1\d\d\d\d\d\d\d\d\d\d

 
 

匹配模式

元字符 说明
(?m) 多行模式

 
 

特殊字符元字符

元字符 说明
[ \b ] 退格字符
\c 匹配一个控制字符
\d 匹配任意数字字符
\D \d 的反义
\f 换页符
\n 换行符
\r 回车符
\s 匹配任意空白字符
\S \s 的反义
\t 制表符(Tab 键)
\v 垂直制表符
\w 匹配任意字母数字字符或下划线字符
\W \w 的反义
\x 匹配一个十六进制数字
\0 匹配一个八进制数字
  • 匹配多个(ab)开头:(\(ab\))*

  • 匹配一个字符*:\*

 
 

反向引用和环境

元字符 说明
( ) 定义一个子表达式
\1 匹配第一个子表达式;\2 匹配第二个子表达式,以此类推
?= 肯定式向前查看
?<= 肯定式向后查看
?! 否定式向前查看
?<! 否定式向后查看
? ( ) 条件(if then)
? ( ) | 条件(if then else)
  • 匹配多个ab: (ab)*

 
 

大小写转换

元字符 说明
\E 结束 \L 或 \U 转换
\l 把下一个字符转换为小写
\L 把后面的字符转换为小写,直到遇见 \E 为止
\u 把下一个字符转换为大写
\U 把后面的字符转换为大写,直到遇见 \E 为止