用正则表达式删除括号内的单词

时间:2011-08-25 18:22:35

标签: regex parsing

我想删除括号内的字词, 我目前正在使用这个

【.*】
  

【删除此项】保留此项【删除此项】

但它删除了所有内容,因为还有另一个括号

我该如何解决这个问题?它也发生在逗号

◆.*、
  

◆删除此项,保留此内容,

正则表达式删除了所有内容,因为我有2个逗号

3 个答案:

答案 0 :(得分:4)

使用与?的非贪婪匹配,并转义括号,它们是特殊字符:

\[.*?\]

答案 1 :(得分:1)

您可以尝试两种解决方案:

  • Lazy Operators(这可能不适用于您的RegEx解析器)

    \[.*?\]
    
    .*?,
    
  • 或替换。通过否定列表匹配除结束分隔符之外的任何元素:

    \[[^]]*\]
    
    [^,]*,
    

答案 2 :(得分:0)

使用指定的字符组

\[[^\]]+\]