ixt*_*lix 20 sed regular-expression
我正在处理一些文本,这些文本在括号 [] 之间充满了我不想要的东西。因为我可以自己删除括号,所以我不需要单行为我做这件事,但我确实需要一个单行来删除它们之间的所有内容。
括号 () 而不是方括号呢?
Gil*_*il' 24
替换[some text]
为空字符串。假设您不想解析嵌套括号,some text
则不能包含任何括号。
sed -e 's/\[[^][]*\]//g'
Run Code Online (Sandbox Code Playgroud)
请注意,在括号表达式中[^][]
要匹配除[
or 之外的任何内容]
,]
必须先出现。通常 a]
会结束字符集,但如果它是集合中的第一个字符(这里是^
补码字符之后),则]
代表它自己。
如果您确实想解析嵌套的括号,或者括号内的文本可以跨越多行,则 sed 不是正确的工具。