正则表达式选择括号内的文本(和括号)

时间:2015-05-09 07:58:31

标签: regex

我是正则表达的新人。我已经尝试了几个网站来帮助我构建正则表达式,但即使在最简单的正则表达式情况下我也基本上都失败了。

这一次,我只想构建一个正则表达式来帮助我在Notepad ++上搜索和替换字符串。我想删除所有以[开头并以]结尾的字符,并将其替换为空字符串。所以基本上我想找到括号内的所有字符,并将它们全部删除。

所以,如果我有这个字符串:

[2015-05-08] ERROR [US Channel Store]: An exception occurred at index.php.

我希望它成为:

ERROR : An exception occurred at index.php.

用正则表达式搜索文档并用空字符串替换。

我制作正则表达式的最佳尝试是:\[.*\]。 (网站上说完整的正则表达式实际上是/\[.*\]/g

但在预览中,我发现正则表达式'结果实际上选择了整行。

有人可以指出错误的位置吗?你能给我正确的正则表达式吗?我的错误思考正则表达式的一点解释将非常感激,以帮助我学习。谢谢!

2 个答案:

答案 0 :(得分:1)

让你的正则表达式非贪婪(懒惰):

/\[.*?\]/g

或者更好地使用否定:

/\[[^]]*\]/g

答案 1 :(得分:0)

你应该试试这个正则表达式:/\[[^]]+\]/g