我有一个HTML表,每行内都有值 其中的数据包括以下格式:
ABCD(1000.50)
$('.tdclass').each(function(index){
var test = push($(this).text().match(?regex?));
});
嗯,正则表达式绝对不是我的力量之一;-)
获取括号内的值的相关正则表达式是什么?
任何帮助将不胜感激!
答案 0 :(得分:12)
如果字符串的第一部分是固定长度,则可以完全避免使用slice()
的复杂程序:
var str = "ABCD (1000.50)";
alert(str.slice(6, -1));
//-> "1000.50"
否则,您可以使用indexOf()
,如果需要,可以lastIndexOf()
获取值:
var str = "ABCDEFGHIJKLMNO (1000.50)",
pos = str.indexOf("(") + 1;
alert(str.slice(pos, -1));
//-> "1000.50"
alert(str.slice(pos, str.lastIndexOf(")");
//-> "1000.50"
答案 1 :(得分:1)
\((.*)\)
的最小正则表达式可以解决这个问题,但是这并没有考虑多个括号,并且在此之前不需要包含4个字符。字面意思是'匹配(后跟尽可能多的非新行字符,然后是')
答案 2 :(得分:0)
请看这里:Using jQuery to find a substring
但 substring(),indexof()可能比正则表达式更容易。