抱歉标题混乱,我想不出正确的措辞。我试图了解正则表达式是否可以匹配不同的字符串,具体取决于是否捕获了先前的捕获组。
/th?u(e|r)sday/
这匹配tuesday
,thursday
但也thuesday
和tursday
。有没有办法在正则表达式中表明一个部分应该只匹配,如果前一个部分匹配......所以我想象一个潜在的语法,比如......捕获组中的数字(?#:pattern)
在哪里#
,如果捕获组捕获,则包含模式,否则跳过。(!#:pattern)
如果#
未捕获第 组,则类似的模式。这种发明的语法是为了展示我正在尝试做的事情。使用这种发明的语法,我可以像这样解决上面的问题......
/t(h)?u(!1:e)(?1:r)sday/
正则表达式中是否有任何这样的语法来实现这种类型的引用?