加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式随笔

发布时间:2020-12-13 22:33:47 所属栏目:百科 来源:网络整理
导读:学正则表达式也有一段时间了,可能做爬虫那段时间用的比较多,现在再看perl的时候看到了一些想起正则表达式的东西。随笔记录下来,这个地方也是有很多人容易搞混淆的地方。 1 [] []意味着匹配一组字符中的一个,如/a[0123456789]c/将匹配a加数字加c的字符串

学正则表达式也有一段时间了,可能做爬虫那段时间用的比较多,现在再看perl的时候看到了一些想起正则表达式的东西。随笔记录下来,这个地方也是有很多人容易搞混淆的地方。
1 []

[]意味着匹配一组字符中的一个,如/a[0123456789]c/将匹配a加数字加c的字符串。与+联合使用例:/d[eE]+f/匹配def、dEf、deef、dEdf、dEEEeeeEef等。

2 ^
这里先说一下,^在[]里面的时候表非,否则就表示开头。
^表示除其之外的所有字符
更多的时候,很多人会不理解 q[^abcd]q是什么意思.
总之,就是——不与 abcd 之中的任意一个字符匹配 .

  1. 到底是匹配q 和q之间非a

  2. 还是匹配q和q之间非a非b非c非d任何一个

结果是后者 ,匹配这之中的任何一个,并且q和q之间只能有一个字符.
如果是多个字符,请加上+,即 q[^abcd]+q,
即:
q[^abcd]q只能匹配 qwq,qeq之类。
q[^abcd]+q能匹配 qzczxzxzxzx…..q 都行
这里要注意+ 表示:(表示匹配一次或者多次,其中不能包含abcd,qq不成立)
如果换成* 表示:(0个或者多个,即qq也成立)。

OK,下次什么时候写一下也是困扰很多人的关于正则表达式的贪婪匹配和非贪婪匹配的问题。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读