var s = "1236(75)";
var s = s.replace(/\(|\)/g, '');
alert (s); // this gives me 123675
what i actually need is 75
any help will be appreciated!
上面的代码结果为 123675,但我需要它只返回 75,请帮忙
var s = "1236(75)";
var s = s.replace(/\(|\)/g, '');
alert (s); // this gives me 123675
what i actually need is 75
any help will be appreciated!
上面的代码结果为 123675,但我需要它只返回 75,请帮忙
用于^.+
匹配输入字符串开头的所有内容。
var s = "1236(75)";
var s = s.replace(/^.*\(|\)/g, '');
也就是说,您可以使用正则表达式来做相反的事情:而不是摆脱您不想要的一切,只需匹配您想要的部分:
var match = s.match(/\((\d+)|\)/)[1];
尝试
var s = s.replace(/.*\(|\)/g, '');
但这只会删除前导字符(在 open-paren 之前)并且只允许一个带括号的部分。结束括号之后的任何内容都将保留。
您真正想要的是将字符串与周围的括号相匹配,并将括号内的部分返回给您。
var m = /\((.*\))/.exec(s);
if (m) var result = m[1]
然后,如果有更多括号部分,您可以使用 [1] 和 [2] 等等来获取它们。
你也可以用新的正则表达式和'split()'做类似的事情
如果您只需要匹配括号中的数字,您可以这样做
s.match(/\((\d+)\)/)[1]
从开头删除数字和左括号,从结尾删除右括号:
s = s.replace(/^\d*\(/, '').replace(/\)$/, '');