使用正则表达式匹配字符串

时间:2013-07-26 12:33:13

标签: javascript jquery regex

我有以下变量:

var test = category~[330526|330519]^Size{1}~[m]

如何匹配使用正则表达式获取category~[330526|330519]

此值也可以更改,因此可以是category~[3303226|333219]

7 个答案:

答案 0 :(得分:6)

试试:

test.split('^')[0];

答案 1 :(得分:3)

var test = 'category~[330526|330519]^Size{1}~[m]';

var result = test.split('^').shift();

FIDDLE

答案 2 :(得分:1)

你可以;

 result = test.substr(0, test.indexOf("]") +1);

答案 3 :(得分:1)

这应该这样做:

category~\[\d+\|\d+\]

答案 4 :(得分:0)

如果你坚持使用正则表达式,那么这个不关心类别是什么(.*~\[\d+\|\d+\])。这是一个Rubular to prove it。但我不得不说,@ hsz的答案真的是最有洞察力的。 split可能是正确的工具。

答案 5 :(得分:0)

又一种方法......

var test = 'category~[330526|330519]^Size{1}~[m]';

var result = test.replace(/\^.+/,"");

答案 6 :(得分:0)

“category~ [330526 | 330519] ^ Size {1}〜[m]”。replace(/(category~ [\ d + \ | \ d +])。* /,“$ 1”),你应该得到字符串,或者你也可以使用匹配。