【发布时间】:2021-01-16 08:44:49
【问题描述】:
我正在尝试编写一个正则表达式来识别多行“TYPE”和“ENDS”上的两个单词之间的文本。
TYPE
words words words
ENDS
但是,如果内容包含特定的单词,例如 BODY,这不应该是有效的匹配。 这是无效的,因为在 TYPE 和 ENDS 之间我们有 BODY
TYPE
words words words
BODY <== BAD
words words words
ENDS
但是,这是有效的,因此“words words words”是所需的输出:
TYPE
words words words
ENDS
BODY
more more more
ENDS
目前为止我最好的是:
(\btype\b((?!.[\s\S]*\bbody\b).*)\bends\b)
【问题讨论】:
-
您忘记发布遇到问题的代码。请阅读How to Ask、edit 并创建一个minimal reproducible example。此外,还不清楚期望的输出是什么。
-
嗨 Roko :( 到目前为止我最好的是: (\btype\b((?!.[\s\S]*\bbody\b).*)\bends\b) .
标签: regex