我正在使用REGEX,但找不到解决方案。 我有以下字符串:
LSUS_GDIS_SHIP_0211e947-1587-11de-9967-99f27557554e.txt
LSUS_GDIS_REC_0211e947-1587-11de-9967-99f27557554e.txt
LSUS_GDIS_CAPACITY_0211e947-1587-11de-9967-99f27557554e.txt
我需要匹配除SHIP或REC或CAPACITY以外的每一行。
我想出了
(?!.*\bSHIP\b|\bREC\b|\bCAPACITY\b).*
如何排除SHIP或REC或CAPACITY?当我这样做
(SHIP|REC|CAPACITY)
我只匹配这些字符串,但我想排除它们。
感谢您对此提出任何想法。
最诚挚的问候,彼得
答案 0 :(得分:2)
使用正则表达式可以将每一行分为三部分
([A-Z_]+)(SHIP|REC|CAPACITY)([_a-z\d-\.]+)
然后您可以将替换用作
replacement1+$2+replacement2
我希望它能起作用。如果没有,请说明您的要求
答案 1 :(得分:1)
使用正则表达式按组匹配:
^([\s\S]*?)(SHIP|REC|CAPACITY)([\s\S]*?)$.*
说明:针对结果check this link
^
«匹配字符串的开头而不消耗任何字符。如果使用多行模式,则换行符也将立即匹配。\s
«匹配任何空格,制表符或换行符。\S
«匹配空格,制表符或换行符以外的任何内容。[\s\S]
«匹配任意字符*?
量词-在零次和无限制次数之间进行匹配,并尽可能减少匹配次数,并根据需要扩展(延迟)$
在行尾声明位置
.*
匹配任何字符(行终止符除外)