Select 使用不带多行的正则表达式,一切都需要一个带空格的词

Select everything expect a word with spaces using regex without multiline

我尝试使用正则表达式过滤文本。我使用的程序只能用正则表达式模式替换文本。 所以我必须生成一个正则表达式,它将 select 除了特定的 pattern/word 之外的所有内容,我将用空格替换它(空)。 不幸的是,该程序仅使用正则表达式 而没有多行选项

目标:

我的限制:

示例文本:

ABC 11
ABC 1/10
ABC 1/20
ABC 1/20
ABC 2/10
ABC 2/20
ABC 2/30
ABC 2/40

FULLTEXT
Other Full Text

我想要select一切期望:

ABC 11
ABC 2/10
ABC 2/20
ABC 2/30
ABC 2/40

多行模式如下所示:

/^((?!ABC 11|ABC 2\/[0-9][0-9]).)*$/gm

https://regex101.com/r/l2zvMX/1

但我搜索了一个没有“/gm”的文件。只有“/g”

此致, ElGammler

您可以使用

(?m)^(?:(?!ABC 11|ABC 2\/[0-9][0-9]).)*$

详情:

  • (?m) - 一个多行标志,使 ^ 匹配任何行的开头,$ 匹配任何行的结尾

  • ^ - 行首

  • (?:(?!ABC 11|ABC 2\/[0-9][0-9]).)* - 任何一个字符,零次或多次重复,尽可能多,不启动 ABC 11 字符序列或 ABC 2\/[0-9][0-9] 模式: ABC 2/ 然后任意两位数字

  • $ - 行结束。