1. 平衡组/递归匹配
(?'group') 将名为group对应的内容,压栈计数;
(?'-group') 将名为group的对应的内容, 出栈计数
(?!) 零宽负向先行断言,由于没有后缀表达式,试图匹配总是失败
正则样例:
,{0,1}"5":\[[^\[\]]*(((?'Open'\[)[^\[\]]*)+((?'-Open'\])[^\[\]]*)+)*(?(Open)(?!))\],{0,1}
测试数据:
{"0":["0","0-1","0-2"],"1":["1","1-1","1-2"],"2":["2","2-1","2-2"],"3":["3","3-1","3-2"],"4":["4","4-1","4-2"],"5":["5","5-1","5-2"]}
比对结果:,"1":["1","1-1","1-2"],
评语:这个写的很不错。可以达到取出最近的一个]的效果
2. 零宽断言
(?=exp) 匹配exp前面的位置
(?<=exp) 匹配exp后面的位置
(?!exp) 匹配后面跟的不是exp的位置
(?<!exp) 匹配前面不是exp的位置
正则样例:
(?<=<(\w+)>).*(?=<\/\1>)
测试数据:
<li><a href="#updatelog">更新纪录</a></li>
比对结果:<a href="#updatelog">更新纪录</a>
评语:这个写的很不错。可以取开始取结束,不过不能在<a>....</a>中再出现<a>...</a>的情况,还好HMTL里不让<a>中再出现<a>。如果像DIV这样的,就得用下面的样子写了。
<[^<>]*(((?'Open'<)[^<>]*)+((?'-Open'>)[^<>]*)+)*(?(Open)(?!))>
<div class="note">aaa<div>其它可用的测试工具:</div>bbbb</div><div><a href="www.*****.com">gogogo</a></div>
asp.net 正则表达式的应用
2020-07-29 16:38正则教程网 正则表达式
正则的高级应用,建议由一定的正则基础才可以看的懂,其实正则并不难,有时间多看一些正则方便的文章,多测试。
延伸 · 阅读
- 2022-03-10Python全栈之正则表达式
- 2022-03-06CentOS中的正则表达式
- 2022-03-06详解Android过滤emoji表情正则表达式
- 2022-03-05linux系统用户管理与grep正则表达式示例教程
- 2022-03-05Asp.Net(C#)使用oleDbConnection 连接Excel的方法
- 2022-03-03C++ 正则表达式的应用详解
- 正则表达式
正则表达式截取字符串的方法技巧
这篇文章主要介绍了正则表达式截取字符串的方法技巧,需要的朋友可以参考下...
- 正则表达式
Java正则表达式里隐藏的陷阱
正则表达式是一个很方便的匹配符号,但要实现这么复杂,功能如此强大的匹配语法,就必须要有一套算法来实现,而实现这套算法的东西就叫做正则表达...
- 正则表达式
共享日常收集JS正则表达式(JavaScript regular expression)
这篇文章给大家介绍小编日常收集的js正则表达式,有需要的朋友可以参考下 ...
- 正则表达式
js 正则学习小记之匹配字符串字面量优化篇
昨天在《js 正则学习小记之匹配字符串字面量》谈到 /"(?:\\.|[^"])*"/ 是个不错的表达式,因为可以满足我们的要求,所以这个表达式可用,但不一定是最好的...
- 正则表达式
用正则实现提取代码内容的代码
研究了一个下午,没有头绪,来论坛求助,老ID丢了!重新注册了一个!=。=! 我想用javascript正则提取asp代码中SQL行的表达式但是写来写去都不行,各位辛苦帮...
- 正则表达式
正则在FireFox和IE下使用test的不同
今天同事遇到这样的问题,查明原因.记下 由于FireForx和IE的执行javascript的引擎不同,所以会有些不同。以下的例子...
- 正则表达式
正则表达式之零宽断言实例详解【基于PHP】
这篇文章主要介绍了正则表达式之零宽断言,简单介绍了零宽断言的概念、分类及php实现技巧与相关注意事项,需要的朋友可以参考下...
- 正则表达式
最严谨的校验email地址的正则表达式及各种语言对应版
这篇文章主要介绍了最严谨的校验email地址的正则表达式及各种语言对应版,本文给出通用、Python、Javascript、PHP、Perl / Ruby、Perl等版本的最严谨的表达式写法...