我已经尝试学习正则表达式已有一段时间了,有时我碰到了一些我难以理解的东西。
今天早些时候,我试图在空格或行首之后匹配一对重复的字符,因此我首先找到了一种匹配空格或行首的方法: (^|\s)
然后,要匹配一对(字母数字)字符: (\w)\1+
两者都能很好地工作,但是当我将它们放在一起时(^|\s)(\w)\1+
,那是行不通的。
您知道为什么这是错误的,实现我想要的最佳方法是什么?
顺便说一句,我正在使用这个网站来测试我的表情。
非常感谢你!
试试这个正则表达式:
(?:^|\s)(\w)\1
问题是您正在使用捕获组(^|\s)
,就变成了\1
和(\w)
变得\2
因此您正则表达式不起作用。
(?:..)
是非捕获组,因此(\w)
保留\1
(第一个捕获组)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句