你好,我需要找到所有 2 个大写单词的集合:到目前为止,我有:
([A-Z][a-z]+\s?){2}
但它并不总是有效。 例如字符串:
Expedition Runic Monster Markers
我希望得到:
- 远征 rune
- rune 怪物
- 怪物标记
我只得到1和3。但我也想得到2。我真的卡在这里了。感谢您的帮助。
最佳答案
重叠匹配需要是captured inside a lookahead .
\b(?=((?:[A-Z][a-z]+\s?\b){2}))
See this demo at Regex101 (进一步添加 \b
word boundaries )
如果您使用的是 Python,则有 PyPI regex with overlapped=True
.
关于regex - 需要找到所有 2 个大写单词的集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73794721/