0

是否可以仅使用正则表达式(无需额外代码!)来匹配第 n 个匹配项?例如,我想匹配 \002 的第二、四、六、八、十、十二等次出现,但跳过以下字符串中的第一、三、五、七等:

"汽车" \002 "火车" \002 "船" \002 "自行车" \002 "房子" \002 "网球" \002 "床" \002 "厨房" \002 "爱情" \002 "快乐"

有没有人为此提供纯正则表达式解决方案?我需要这个,因为我无法更改使用正则表达式的代码,但我可以提供一个正则表达式。

提前致谢

4

1 回答 1

0

好吧,是的,您只需将正则表达式加倍:

\002[^\002]*(\002)

要通常匹配特定字符串的每 n 次出现,您可以使用{}

(?:\002[^\002]*){n-1}(\002)
于 2013-03-30T20:09:07.267 回答