regex:仅当在启动/停止部分内时才查找匹配项

本文关键字:查找 止部 启动 regex | 更新日期: 2023-09-27 17:58:01

只有当MATCH在START和STOP:之间时,我才需要查找MATCH

  1. blah START hello MATCH bye STOP blah

  2. blah START hello MATCH STOP blah

  3. blah MATCH blah START hello MATCH STOP blah

例如:在第3行,应该只找到第2个MATCH。

请注意,START、STOP和MATCH不是文字。它们表示为正则表达式的部分正则表达式。

当然,一个简化但不优雅的解决方案是提取START和STOP之间的部分,然后在其中查找MATCH。

TIA、

regex:仅当在启动/停止部分内时才查找匹配项

@"START.*?(MATCH).*?STOP"

只需捕获"MATCH"即可。对于START-MATCH-STOP之间可能发生的事情,您可能有额外的条件(而不是仅捕获"."),如果是这样,请使用字符类。

试试这个:

/'bSTART'b.*?'bMATCH'b.*?'bSTOP'b/

如果你试图捕捉它,但没有说出这些实际的单词:

/START.*?(MATCH).*?STOP/