我一直试图弄清楚正则表达式,并且无法获得最后一个括号从字符串中消失。
例如:
[地球静止的日子]
我只能得到:
地球静止的日子]
使用以下RegEx代码:
/(\[|\](^The ))\2/
我的目标只是:
地球静止的日子
非常感谢任何帮助。我花了3个小时试图自己搞清楚......这是我放弃的。:3
答案 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]);
答案 1 :(得分:0)
也许你应该采取思考你想要保留的东西而不是你想要摆脱的方法
(?<=\[The\s*)[\w\s]*(?=\])
否则,你试图在字符串的不同部分进行匹配,并且应该使用2个不同的匹配来完成