正则表达式整理

表达式说明举例
[abc]表示“a”或“b”或“c”
[0-9]表示0~9中任意一个数字,等价于[0123456789]
[\u4e00-\u9fa5]表示任意一个汉字
[^a1<]表示除“a”、“1”、“<”外的其它任意一个字符
[^a-z]表示除小写字母外的任意一个字符
\d任意一个数字,相当于[0-9],即0~9 中的任意一个
\w任意一个字母或数字或下划线,相当于[a-zA-Z0-9_]
\s任意空白字符,相当于[ \r\n\f\t\v]
\D任意一个非数字字符,\d取反,相当于[^0-9]
\W\w取反,相当于[^a-zA-Z0-9_]
\S任意非空白字符,\s取反,相当于[^ \r\n\f\t\v]
.匹配除了换行符 \n 以外的任意一个字符
^匹配字符串开始的位置,不匹配任何字符^a表示匹配开头是a的E:abc匹配结果是a
$匹配字符串结束的位置,不匹配任何字符E:\d$匹配123匹配结果是3,若abc结果是失败的
\b匹配单词边界,不匹配任何字符E:Windows 2003匹配会得到4处空结果
\r,\n回车和换行
\匹配“\”本身
^,$,.分别匹配“^”、“$”和“.”
{m}表达式匹配m次“\d{3}”相当于“\d\d\d ” ,“(abc){2}”相当于“abcabc”
{m,n}表达式匹配最少m次,最多n次“\d{2,3}”可以匹配“12”或“321”等2到3位的数字
{m,}表达式至少匹配m次“[a-z]{8,}”表示至少8位以上的字母
?表达式匹配0次或1次,相当于{0,1}“ab?”可以匹配“a”或“ab”
*表达式匹配0次或任意多次,相当于{0,}“<[^ >]>”中“[^>]”表示0个或任意多个不是“>”的字符
+表达式匹配1次或意多次,至少1次,相当于{1,}“\d\s+\d”表示两个数字中间,至少有一个以上的空白字符
/多个子表达式之间取“或”的关系“^aa/b ” 在 匹 配 “ c c c b ” 时 , 是 可 以 匹 配 成 功 的 , 匹 配 的 结 果 是 “ b ” , 因 为 这 个 表 达 式 表 示 匹 配 “ a a ” 或 “ b ”在匹配“cccb”时,是可以匹配成功的,匹配的结果是“b”,因为这个表达式表示匹配“^aa”或“b cccbbaab”,而“b$”在匹配“cccb ”时是可以匹配成功的

进阶

**在表达式 (A)(B( C)) 中有四个这样的组

0(A)(B( C))
1(A)
2(B( C))
3©

所以 < title>.< /title>可以写成 <(title)>.</\1>

表达式说明举例
(Expression)普通捕获组,将子表达式Expression匹配的内容保存到以数字编号的组里\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}可以转为\d{1,3}(.\d{1,3}){3}
(? Expression)命名捕获组,将子表达式Expression匹配的内容保存到以name命名的组里\d{1,3}(.\d{1,3}){3}可以写成(\d{1,3})(.\1){3}
(?:Expression)进行子表达式Expression的匹配,并将匹配内容保存到最终的整个表达式的区配结果中,但Expression匹配的内容不单独保存到一个组内
\1,\2对序号为1和2的捕获组的反向引用
\k对命名为name的捕获组的反向引用“(a/b)\1”在匹配“abaa”时,匹配成功,匹配到的结果是“aa”。“(a
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值