我有以下变量:
var test = category~[330526|330519]^Size{1}~[m]
我如何匹配才能category~[330526|330519]
使用正则表达式。
这个值也可以改变,所以它可能是category~[3303226|333219]
我有以下变量:
var test = category~[330526|330519]^Size{1}~[m]
我如何匹配才能category~[330526|330519]
使用正则表达式。
这个值也可以改变,所以它可能是category~[3303226|333219]
只需尝试:
test.split('^')[0];
var test = 'category~[330526|330519]^Size{1}~[m]';
var result = test.split('^').shift();
你可以;
result = test.substr(0, test.indexOf("]") +1);
这应该这样做:
category~\[\d+\|\d+\]
还有一种方法...
var test = 'category~[330526|330519]^Size{1}~[m]';
var result = test.replace(/\^.+/,"");
"category~[330526|330519]^Size{1}~[m]".replace(/(category~[\d+\|\d+]).*/,"$1"),你应该得到字符串,或者你也可以使用匹配。
如果您坚持使用正则表达式,则此表达式不关心类别是什么(.*~\[\d+\|\d+\])
。这里有一个Rubular 来证明它。但不得不说,@hsz 的回答真的是最有见地的。这split
可能是这项工作的正确工具。