是否可以仅使用正则表达式(无附加代码!)来匹配第n个匹配?例如:
“CAR” - “TRAIN” - “BOAT” - “BICYCLE”
现在我只想匹配BOAT,匹配的正则表达式是“[A-Z] +”但是这也匹配第一个,第二个和第四个。
有没有人为此提供纯正的正则表达式解决方案?我需要这个,因为我无法更改使用正则表达式的代码,但我可以提供正则表达式。
祝你好运, 罗宾
答案 0 :(得分:5)
答案 1 :(得分:0)
如果我理解你正确并且您将多个字符串放入一个正则表达式,逐字符串,然后否,则不可能。
正则表达式本身没有比匹配时间更长的内存, 所以,如果你匹配一件事,那么在另一件事之后,就没有第一件事的信息了。
答案 2 :(得分:0)
(?!(\“[AZ] \”\ s- \ s){2})(\“[AZ] \”) - 其中{2}表示你的索引想。
唯一的问题是它返回指定索引之后的每个匹配项。您可以执行匹配并返回第一个结果。
使用正则表达式对您的示例进行测试。