用于从HTML标记提取值的JavaScript正则表达式 +4,13%

用于从HTML标记提取值的JavaScript正则表达式 +4,13%,javascript,html,regex,tags,Javascript,Html,Regex,Tags,我知道我不应该为此使用正则表达式,但这只是一个例子,我唯一的html就是这样 如何从上面的字符串中获取“4,13” 编辑 背景: 我正在通过jQuery TableSorter对表进行排序。列包含html格式的数据,我无法更改它。我正在编写的自定义解析器有一个format函数,我目前使用它来管理货币、百分比等 现在,我想用一个正则表达式来检查我遇到的字符串是否是字符串 <font color="green">+4,13</font>% 格式:函数{ 控制台日志; va

我知道我不应该为此使用正则表达式,但这只是一个例子,我唯一的html就是这样

如何从上面的字符串中获取“4,13”

编辑

背景:

我正在通过jQuery TableSorter对表进行排序。列包含html格式的数据,我无法更改它。我正在编写的自定义解析器有一个format函数,我目前使用它来管理货币、百分比等

现在,我想用一个正则表达式来检查我遇到的字符串是否是字符串

<font color="green">+4,13</font>% 
格式:函数{
控制台日志;
var=s.replace(“,”)
.替换(“,”);
返回jQuery.tablesorter.formatFloat(剥离);
}
编辑

如果你只是想匹配数字

format: function(s) {
    console.log(s);
    var stripped = s.replace("<font>","")
                     .replace("</font>", "");
    return jQuery.tablesorter.formatFloat(stripped);
}
看到了吗

匹配可选的+或-然后至少匹配一个数字,然后匹配带数字的可选分数。或者,作为分数分隔符

/编辑

试试这样的

[+-]?\d+(?:[,.]\d+)?
编辑

如果你只是想匹配数字

format: function(s) {
    console.log(s);
    var stripped = s.replace("<font>","")
                     .replace("</font>", "");
    return jQuery.tablesorter.formatFloat(stripped);
}
看到了吗

匹配可选的+或-然后至少匹配一个数字,然后匹配带数字的可选分数。或者,作为分数分隔符

/编辑

试试这样的

[+-]?\d+(?:[,.]\d+)?

这应该适用于您的具体示例-

<font color="green">\+?([^<]+)
var tagtext='+0.00%';
var keepplusorminus=false;
var myregexp=keepplusorminus/[-\+,\.0-9]+/ : /[,\.0-9]+/;
var match=myregexp.exec(tagtext);
如果(匹配!=null){
结果=匹配[0];
}否则{
结果=”;
}
警报(结果);

工作演示-

这应该适用于您的特定示例-

<font color="green">\+?([^<]+)
var tagtext='+0.00%';
var keepplusorminus=false;
var myregexp=keepplusorminus/[-\+,\.0-9]+/ : /[,\.0-9]+/;
var match=myregexp.exec(tagtext);
如果(匹配!=null){
结果=匹配[0];
}否则{
结果=”;
}
警报(结果);

工作演示-

请更清楚“条带化”或“获取”值是什么意思?+1作为关于知道不使用regex:Pmore上下文的免责声明。这根绳子是从哪里来的?Javascript是否在浏览器中运行?它是如何加载字符串的,它对字符串还做了什么?等。我更新了我的答案以满足您的更新。请更清楚“条带化”或“获取”值是什么意思?+1表示关于知道不使用regex:Pmore上下文的免责声明。这根绳子是从哪里来的?Javascript是否在浏览器中运行?它是如何加载字符串的,它对字符串还做了什么?等。我更新了我的答案以满足您的更新。我可以有“+4,13”或“0.00”或再次“-7698”。我必须如何修改它?我刚刚更新了答案,我已经更改了正则表达式,这样它将接受一个句号和一个逗号。最后一件事,善良的人:))我如何“保留”加号或减号(可选设置)?@Fabio你知道这个正则表达式
[,\.0-9]+
也将匹配一个字符串,如,,,,,,,,,,或,.123.,,,342?答案再次更新,将布尔值设置为“保留”,加号或减号可以是“+4,13”或“0.00”,也可以是“-7698”。我必须如何修改它?我刚刚更新了答案,我已经更改了正则表达式,这样它将接受一个句号和一个逗号。最后一件事,善良的人:))我如何“保留”加号或减号(可选设置)?@Fabio你知道这个正则表达式
[,\.0-9]+
也将匹配一个字符串,如,,,,,,,,,,或,.123.,,,342?答案再次更新,将布尔值设置为“保留”加号或减号