【发布时间】:2021-02-21 21:02:59
【问题描述】:
我正在寻找将从以下返回的正则表达式
赫胥黎S定律很有趣。还有一些有趣的事情。 达拉斯的法律 T他的东西很无聊。 法律无效S一些东西。
作为 2 行文本,其中已识别 2 个组:
- 第一组以“The law”开头并在第一个大写字母处结束;
- 第二组之后开始并在下一个第一组“法律”时结束 遇到模式。
我的目标是通过使用这样的捕获组将标题与核心文本分开来重新表述它:
The law of Huxley
Something interesting. Some other interesting thing.
The law of Dallas
This thing is boring.
The law of void
Some stuff.
我试过了
((The law [\w\s]+)([A-Z].+))+
无济于事
【问题讨论】:
-
您使用的是什么编程语言或正则表达式风格?
-
您的具体要求是什么?从
The law,下一个单词,然后直到下一个开始下一个捕获的大写字母,直到下一个The law或字符串的结尾,匹配并捕获所有内容?(The law\s+\w+\s\P{Lu}*)(\p{Lu}.*?)(?=The law|$)(demo)? -
还是在第一个大写单词之后? regex101.com/r/1XfTpG/1
-
你做得很好@WiktorStribiżew;我实际上是在寻找使用捕获组分离一些与核心文本混合的标题。我错过了积极的前瞻性部分让它起作用。感谢您的时间。不要犹豫,发布回复,以便我可以将其标记为一个好的答案