之间的替换字符串“[]”使用正则表达式

问题描述:

的JavaScript我有一个web服务的回来一个字符串包含开放的括号像这样的“[]” 因此字符串看起来就像是这样的:之间的替换字符串“[]”使用正则表达式

[1] blabh balh blah 

我想写一个正则表达式来删除“[1]”或者任何开放括号之间的东西。 现在我已经试过类似:

var regexp = /\[[]\\]/g; 

但这不起作用。我在这里绊倒了我自己的双脚。 我只是想找到以“[”开头并以“]”结尾的任何内容,并替换中间的所有内容,包括打开和关闭的括号。 任何帮助或指导将不胜感激。

+0

也许'/ \ [[0-9] * \] /;'不需要g标志,因为您不想全局替换。 – Jess 2013-02-21 02:55:18

这应该工作:

var str = '[1] blabh balh blah'; 
str = str.replace(/\[.*?\]\s?/g, ''); 

如果您有嵌套括号正则表达式可能不会是最好的选择,但。

+0

哥们你是我的英雄,我现在感觉很蠢!谢谢你的回答。一个简单的问题是“[。*]”是一种通配符类型的搜索?谢谢你,我虚心地谢谢你。 – Miguel 2013-02-21 02:59:44

+0

我刚刚在Firefox Web Console上试过了,它返回'blabh balh blah' – Jess 2013-02-21 02:59:49

+0

@Miguel:是的,'。*'的意思是“任何字符0次或更多次” – elclanrs 2013-02-21 03:01:13

正在使用regexp的要求?如果不是,一个简单的解决方案可能是:

var myString = '[1] Bob Loblaw is the man'; 
myString = myString.slice(myString.indexOf(']')+1); 
+1

Web控制台返回“Bob Loblaw是人”。你也需要摆脱空间。 – Jess 2013-02-21 03:20:57