主题:文问题,关于正则表达式 -- pastebt
共:💬26 🌺8
复 两个问题
如果零宽断言(Positive and Negative Lookahead)支持能变长匹配的话,如.NET,我上述的表达式可以匹配任意多的字符。考虑一下正则表达式的实现方法就明白了,其实我匹配的是‘3’,然后让正则引擎在找到‘3’这个字符之后去检查左右的边界是否符合要求,即两个零宽断言。由于左边界是a\w*——a开始的任意字符,右边界是\w*b——b结尾的任意字符。所以a开始和b结束之间的3都匹配。你可能被一般的搜索思路干扰了,正则表达式不是找到边界后去匹配边界中的字符,而是找到字符后去匹配边界。这就解释了第二个问题。
第一个问题就没办法解决了,你可以看看这个连接
外链出处,目前只有两个平台支持变长的匹配。
- 相关回复 上下关系8
🙂文问题,关于正则表达式 pastebt 字61 2009-04-30 19:39:54
🙂使用零宽断言(答案) 代码ABC 字18 2009-05-05 01:08:26
🙂两个问题 pastebt 字385 2009-05-05 14:21:57
😜不同的平台对正则表达式支持的确不同
🙂谢谢,在python里面也弄出来了 pastebt 字95 2009-05-08 13:46:43
🙂不用正则也不错啊。 python 字713 2009-08-17 03:40:19
🙂这个有BUG吧? 潇湘夜雨 字137 2009-05-08 17:35:03
🙂恩,不过不重要了,呵呵 pastebt 字0 2009-05-08 22:03:05