带有长字符串的javascript正则表达式

时间:2014-06-25 11:34:31

标签: javascript regex

我拥有的字符串是

[<span class="link" nr="28202" onclick="javascript:openAnlaggning('/kund/Bridge/Main.nsf/AnlOkatSamtligaFaltCopy/045C9DDFDC7AB308C1257C1B002E11F1?OpenDocument&urval=1');" >Alingsås Järnvägsstation</span>]

逻辑是检查字符串开头是否有'[',如果它存在,则取方括号之间的值。在上面的字符串中我想得到的是输出

<span class="link" nr="28202" onclick="javascript:openAnlaggning('/kund/Bridge/Main.nsf/AnlOkatSamtligaFaltCopy/045C9DDFDC7AB308C1257C1B002E11F1?OpenDocument&urval=1');" >Alingsås Järnvägsstation</span>

我试过这个

var out = value.match('/\[(.*)\]/i');

enter image description here

我在scriptular.com上尝试过,我确实得到了匹配。

提前致谢。

2 个答案:

答案 0 :(得分:1)

删除引号以使参数成为真正的regular expression literal

// -------------------v --------v
var out = value.match(/\[(.*)\]/i);

答案 1 :(得分:0)

您可以使用以下正则表达式获取[]大括号内的值

\[([^\]]*)\]

DEMO

如果最后还有另一个\[(.*)\],那么正则表达式]将无效。请参阅demo

为此,您必须在?旁边添加*量词,让您的正则表达式进行非贪婪的匹配,

\[(.*?)\]

DEMO