正则表达式字符集

正则表达式

正则表达式支持的合法字符

字符解 释
x字符x(x可代表任何合法字符)
\0mnn八进制数0mnn所表示的字符
\xhh十六进制值0xhh所表示的字符
\uhhhh十六进制值0xhhhh所表示的Unicode字符
\t制表符
\n新行(换行)符
\r回车符
\f换页符
\a报警(bell)符
\eEscape符
\cxx对应的控制符。例如,\cM指的是Ctrl-M。x为A ~ Z或a ~ z之一

正则表达式中的特殊字符

特殊字符说明
$匹配一行的结尾
^匹配一行的开头
()标记子表达式的开始和结束位置
[]确定中括号表达式的开始和结束位置
{}标记前面子表达式的出现频度
*指定前面子表达式可以出现零次或多次
+指定前面子表达式可以出现一次或多次
?指定前面子表达式可以出现零次或一次
.匹配除换行符\n之外的任何单字符
\用于转义下一个字符,或指定八进制、十六进制字符
|指定两项之间任选一项

预定义字符

预定义字符说明
.可以匹配任何字符
\d匹配0-9的所有数字
\D匹配非数字
\s匹配所有的空白字符,包括空格、制表符、回车符、换页符、换行符等
\S匹配所有的非空白字符
\w匹配所有的单词字符,包括0-9所有数字、26个英文字母和下划线(_)
\W匹配所有的非单词字符

注:d指的是digit,s指的是space,w指的是word

方括号表达式

方括号表达式说明
表示枚举例如[abc],表示a、b、c其中任意一个字符,[gz],表示任意一个字符
表示范围:-例入[a-f],表示a ~ f范围内的任意字符; [\u0041-\u0056],表示十六进制字符\u0041到\u0056范围的字符;[a-cx-z],表示a ~ c、x ~ z范围内的任意字符
表示求否:^[ ^ abc],表示非a、b、c的任意字符;[ ^ a-f],表示不是a ~ f范围的任意字符
表示“与”运算:&&[a~z && [def]]的交集,表示d、e、f
表示“并”运算[a-d[m-p]],表示[a-dm-p]

边界匹配符

边界匹配符说明
^行的开头
$行的结尾
\b单词的边界
\B非单词的边界
\A输入的开头
\G前一个匹配的结尾
\Z输入的结尾,仅用于最后的结束符
\z输入的结尾

三种模式的数量表示符

贪婪模式勉强模式占用模式说明
X?X??X?+X表达式出现零次或一次
X*X*?X*+X表达式出现零次或多次
X+X+?X++X表达式出现一次货多次
X{n}X{n}?X{n}+X表达式出现n次
X{n,}X{n,}?X{n,}+X表达式最少出现n次
X{n,m}X{n,m}?X{n,m}+X表达式最少出现n次,最多出现m次
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值