欧洲数字正则表达式
European Numbers RegEx
我使用这个/[-'+,'.0-9]+/
来匹配字符串中的数字,如+4400,00 %
或-3500,00 %
或0.00 %
。
我想要的匹配结果是+4400,00
,我正确地得到了它。
如果我想对+4.400,00 %
(点表示千)这样的字符串得到相同的结果该怎么办?
编辑
我如何修改我的RegEx匹配数字在字符串像<font color="red">+44.500 %</font>
?
/['-'+]?'s*[0-9]{1,3}('.[0-9]{3})*,[0-9]+/
应该包括
- 可以以
+
或-
开头,然后可能是一些空白 - 则有一到三个数字
- 则有三个数字组,前缀为
- ,逗号和逗号后面至少一个数字
关于您的附加问题(匹配字符串内的数字),您应该查看您正在使用的任何regex API的手册。大多数api都有单独的search
和match
方法;match
希望整个字符串成为正则表达式语言的一部分,而search
也将匹配子字符串。
['+-]?
-正负
'd{1,3}
-一些数字
('.'d{3})*
-
,'d{2}
逗号+ 2位数字
我们得到:
/[+-]?'d{1,3}('.'d{3})*,'d{2}/
你的正则表达式已经匹配"。"了。但听起来你还想把"。"去掉?如果是这样的话,你需要一个替换。在Perl中,
if ($input =~ /(-|'+)[0-9][,'.0-9]+/) {
$input =~ s/'.//;
} else {
die;
}
我也改变了正则表达式,所以它只匹配-和+在开始,所以它需要一个初始数字
相关文章:
- 正则表达式与数字中的第二个点匹配
- 正好包含2个大写字母和3个数字的正则表达式
- 键按下上的正则表达式 仅限制数字
- 使用正则表达式匹配长度为六个字符的字母数字字符串
- 为什么这个正则表达式不't匹配最后一个字母数字字符
- 正则表达式(JavaScript),用于创建数字必须大于x的数据验证
- 用于删除紧跟在非数字后面的零的正则表达式
- XXXXXX的正则表达式.XX格式的数字
- javascript正则表达式,用于匹配带数字和不带数字的字符串
- Javascript中的正则表达式,用于只有数字的字符串,并且不应在除数字以外的任何位置包含任何字符
- JavaScript正则表达式(带_-的字母数字字符)
- 用于数字输入的正则表达式
- 用Javascript正则表达式过滤十六进制数字
- 我应该使用什么正则表达式来验证数字模式
- 用于获取两个方括号之间的数字的正则表达式
- 正则表达式删除最后一个数字之后的字符串
- Javascript 正则表达式在特定单词或数字之后拆分
- 正则表达式 jquery 将数字替换为链接
- 正则表达式允许字母数字和空格,但不允许连续两个空格
- 正则表达式,字符串末尾必须包含数字