Java 相等字符串中的正则表达式n匹配

Java 相等字符串中的正则表达式n匹配,java,regex,regex-group,Java,Regex,Regex Group,是否可以只使用正则表达式(无其他代码!)来匹配第n个匹配项?例如: “汽车”-“火车”-“船”-“自行车” 现在我只想匹配船,匹配的正则表达式应该是“[A-Z]+”,但是这也匹配第一、第二和第四个 有没有人对此有一个纯正则表达式解决方案?我需要这个,因为我不能更改使用正则表达式的代码,但我可以提供一个正则表达式 致以最良好的祝愿, Robin如果我理解正确,并且您将多个字符串一个字符串一个字符串地放入一个regexp,那么不,这是不可能的 正则表达式本身没有超过匹配时间的内存, 因此,如果你匹配

是否可以只使用正则表达式(无其他代码!)来匹配第n个匹配项?例如:

“汽车”-“火车”-“船”-“自行车”

现在我只想匹配船,匹配的正则表达式应该是“[A-Z]+”,但是这也匹配第一、第二和第四个

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

致以最良好的祝愿,
Robin

如果我理解正确,并且您将多个字符串一个字符串一个字符串地放入一个regexp,那么,这是不可能的

正则表达式本身没有超过匹配时间的内存,
因此,如果你匹配一件事,然后再匹配另一件事,就没有第一件事的信息。

如果我理解正确,你将多个字符串逐个字符串放入一个regexp,然后,这是不可能的

正则表达式本身没有超过匹配时间的内存, 所以,如果你在匹配一件事,然后再匹配另一件事,就没有第一件事的信息了。

我认为这应该可以做到:

(?<=^("[A-Z]+"[\s-]+){2})"[A-Z]+"
(?我认为应该这样做:

(?<=^("[A-Z]+"[\s-]+){2})"[A-Z]+"
(?(?!(\“[A-Z]\”\s-\s){2})(\“[A-Z]\”)-其中{2}表示需要的索引

唯一的问题是,它也会返回指定索引之后的每个匹配。您可以执行匹配并返回第一个结果

在您的示例中使用regexpal对其进行了测试。

(?!(\“[A-Z]\”\s-\s){2})(\“[A-Z]\”)-其中{2}表示您想要的索引

唯一的问题是,它也会返回指定索引之后的每个匹配。您可以执行匹配并返回第一个结果



在您的示例中使用regexpal对其进行了测试。

那么,您对该代码了解多少?它似乎使用了全局标志,但它支持什么regex风格?大多数regex风格将支持$N(在您的示例中,“boat”为3美元)对于多个匹配。这是一个使用Matcher的简单java正则表达式。第一个匹配用于进一步处理。您可以重新定义问题,以匹配从第n个到最后一个匹配而不是第n个匹配吗?否则,您将陷入困境,因为java对Lookback断言的支持有限。那么,您对该代码了解多少?它似乎使用了global flag,但它支持什么regex口味?大多数regex口味将支持$N(在您的例子中,“船”是3美元)用于多个匹配。这是一个使用Matcher的简单java正则表达式。第一个匹配用于进一步处理。您能否重新定义问题,以匹配从第N个到最后一个匹配而不是第N个匹配?否则,您将陷入困境,因为java对lookbehind断言的支持有限。它一次使用一行,但需要匹配第N个字。It一次使用一行,但需要匹配第N个单词。使用www.regexpal.com进行的简单测试似乎失败了?这是由于验证程序还是regex?@RobinUS2:lookback是一个复杂的功能。JavaScript(位于regexpal.com)根本不支持它,并且似乎不支持Lookback表达式中的重复。@Bergi在
.net
中添加了
RegexBuddy
的屏幕截图。您可以自由删除它,您不需要:)@JohnWoo:酷,谢谢!想给该图像一个投票结果:-)@Bergi
+1
,在Lookback中添加正则表达式!使用www.regexpal.com进行的简单测试似乎失败了?这是由于验证程序还是正则表达式造成的?@RobinUS2:lookback是一个复杂的特性。JavaScript(位于regexpal.com)根本不支持它,并且似乎不支持在lookback表达式中重复。@Bergi在
.net
添加了
RegexBuddy
的屏幕截图。你可以自由删除它,你不需要;我不想要:)@JohnWoo:太好了,谢谢!我想给这张图片投一票:-)@Bergi
+1
也给你,在lookback中添加regex!你能在你的正则表达式测试用例中发布一个永久链接(见底部的按钮)吗;我真的不敢相信它与你的正则表达式测试用例相匹配,你能在你的正则表达式测试用例中发布一个永久链接(见底部的按钮)吗;我真不敢相信它和我的相配