我正在像正题here一样进行正则表达式前向引用的练习。
任务是:
字符串s由tic或tac组成
tic不应与其自身直接相邻
仅当tac至少出现两次之前才发生第一次抽动
我已经用这个regex
解决了。但是它不使用forward reference
,所以我真的很想知道如何使用它来解决这个问题。
^tac(tac)+(tic(tac)+){0,}(tic)?$
有效:
tactactic
tactactictactic
无效:
tactactictactictictac
tactictac
我该如何解决这个问题?
最佳答案
这使用了前向参考:
^(\2tic|(tac))+$
Demo
实际上,它与this page上给出的示例非常相似。