使用正则表达式删除重复括号之间的内容
Using Regex to delete contents between repeating brackets
我正在尝试删除包含特定修饰符 ('DeleteMe') 的括号内不需要的词,并且不删除包含其他词 ('DontDeleteMe') 的括号内的内容。
我虽然很简单,但由于重复的括号而被证明很困难,请参见下文。
[
aljdsfjfldsa DeleteMe aldsjflajdf
]
[
aldskjfal DontDeleteMe asdlkjflasdj
]
[
aljdsfjfldsa DeleteMe aldsjflajdf
]
[
aldskjfal DontDeleteMe asdlkjflasdj
]
期望的输出
[
aldskjfal DontDeleteMe asdlkjflasdj
]
[
aldskjfal DontDeleteMe asdlkjflasdj
]
我尝试了以下但问题是第二行将与第三行一起删除。
(?s)\[.*?'DeleteMe'.*?\]
您可以将单词边界与 negated character class [^
结合使用
\[[^][]*\bDontDeleteMe\b[^][]*\]
如果单词是 DeleteMe
,您可以使用单词边界匹配它并用空字符串替换。
\[[^][]*\bDeleteMe\b[^][]*\]
我正在尝试删除包含特定修饰符 ('DeleteMe') 的括号内不需要的词,并且不删除包含其他词 ('DontDeleteMe') 的括号内的内容。 我虽然很简单,但由于重复的括号而被证明很困难,请参见下文。
[
aljdsfjfldsa DeleteMe aldsjflajdf
]
[
aldskjfal DontDeleteMe asdlkjflasdj
]
[
aljdsfjfldsa DeleteMe aldsjflajdf
]
[
aldskjfal DontDeleteMe asdlkjflasdj
]
期望的输出
[
aldskjfal DontDeleteMe asdlkjflasdj
]
[
aldskjfal DontDeleteMe asdlkjflasdj
]
我尝试了以下但问题是第二行将与第三行一起删除。
(?s)\[.*?'DeleteMe'.*?\]
您可以将单词边界与 negated character class [^
\[[^][]*\bDontDeleteMe\b[^][]*\]
如果单词是 DeleteMe
,您可以使用单词边界匹配它并用空字符串替换。
\[[^][]*\bDeleteMe\b[^][]*\]