<font color="green">+4,13</font>%
我知道我不应该使用正则表达式,但这只是一个案例,我唯一的html就是这样......
我如何从上面的字符串获取“4,13”?
修改
上下文:
我通过jQuery TableSorter对表进行排序。列包含html格式的数据,我无法更改它。我写的自定义解析器有一个格式函数,我目前用它来管理货币,百分比等......
现在,我想用正则表达式检查来到我的字符串是否为字符串。
format: function(s) {
console.log(s);
var stripped = s.replace("<font>","")
.replace("</font>", "");
return jQuery.tablesorter.formatFloat(stripped);
}
答案 0 :(得分:1)
这适用于您的具体示例 -
var tagtext = '<font color="green">+0.00</font>%';
var keepplusorminus = false;
var myregexp = keepplusorminus ? /[-\+,\.0-9]+/ : /[,\.0-9]+/;
var match = myregexp.exec(tagtext);
if (match != null) {
result = match[0];
} else {
result = "";
}
alert(result);
答案 1 :(得分:0)
修改强>
如果您只想匹配数字
[+-]?\d+(?:[,.]\d+)?
匹配可选的+或 - 然后至少一个数字,然后是带有的可选分数。或者a,作为分数分隔符。
/编辑
尝试这样的事情
<font color="green">([^<]+)
然后,您将在捕获组1中找到值“+4,13”。
如果要在捕获组
之前排除+
而不是添加它(可能是可选的)
<font color="green">\+?([^<]+)