从括号中删除括号和单词“The”

时间:2010-10-29 15:15:47

标签: javascript regex

我一直试图弄清楚正则表达式,并且无法获得最后一个括号从字符串中消失。

例如:

[地球静止的日子]

我只能得到:

地球静止的日子]

使用以下RegEx代码:

/(\[|\](^The ))\2/

我的目标只是:

地球静止的日子

非常感谢任何帮助。我花了3个小时试图自己搞清楚......这是我放弃的。:3

2 个答案:

答案 0 :(得分:2)

您可以尝试:

\[The\s(.*)]

如果您需要使用此功能去除括号,即使“The”不存在,您也可以尝试:

(?:\[The\s|\[)(.*)]

如果您认为自己会遇到'the'或'The'的情况,可以尝试:

(?:\[[Tt]he\s|\[)(.*)]

以下是一些实现捕获文本的代码,没有括号和'The':

var title = new Array();
title[0] = "[The Day the Earth Stood Still]";
title[1] = "[Independence Day]";
title[2] = "[the Day the Earth Stood Still]";

alert(title[0].match(/(?:\[[Tt]he\s|\[)(.*)]/)[1]);
alert(title[1].match(/(?:\[[Tt]he\s|\[)(.*)]/)[1]);
alert(title[2].match(/(?:\[[Tt]he\s|\[)(.*)]/)[1]);

在此处试试:http://jsfiddle.net/aSwYz/

答案 1 :(得分:0)

也许你应该采取思考你想要保留的东西而不是你想要摆脱的方法

(?<=\[The\s*)[\w\s]*(?=\])

否则,你试图在字符串的不同部分进行匹配,并且应该使用2个不同的匹配来完成