java - 相等字符串中的正则表达式第 n 个匹配项

标签 java regex regex-group

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

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

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

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

最好的问候, 罗宾

最佳答案

我觉得这个lookbehind应该这样做:

(?<=^("[A-Z]+"[\s-]+){2})"[A-Z]+"

它匹配字符串开头后两个单词的单词

enter image description here

关于java - 相等字符串中的正则表达式第 n 个匹配项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12586472/

相关文章:

java - 运行时 boolean 值发生变化

regex - sed 中的非贪婪(不情愿)正则表达式匹配?

Javascript:正则表达式用于替换文本中的单词而不是单词的一部分

regex - 有什么作用? : in a regular expression mean?

java - 无法让小组工作

正则表达式正向前瞻未按预期匹配

java - 在条件语句中使用 boolean 值 true 和 false

Java Scanner 类,没有显示任何内容

Java ATM 程序只是在 ATM 处打印。(init)(ATM.java :6) but compiles with no errors (not using any arrays in program)

python - 正则表达式 django url