我希望以下表格只接受欧元格式。
三位带">。";隔离。
我发现了这个表达式,但不能按我的方式工作:
^(0|(([1-9]{1}|[1-9]{1}[0-9]{1}|[1-9]{1}[0-9]{2}){1}( [0-9]{3}){0,})),(([0-9]{2})|--)([ ]{1})(€|EUR|EURO){1}$
我希望它完全像下面这样:
1.123, 45岁
1, 23岁
1.234.567, 45岁
0, 56
我希望两位数的分是必须的。
你可以试试
^(?!0d)d{1,3}(?:.d{3})*,d{2}$
^
字符串的开头(?!0d)
阴性向前看,确保没有像01,25
这样的前导0
,如果允许,将其删除d{1,3}
1 ~ 3位(?:.d{3})*
后跟.123
之类的文本,d{2}
后面跟着2位十进制数字,必选。如果您希望它是可选的,将其替换为(?:,d{2})?
$
字符串的结尾
查看测试用例
-?(d{1,3})(.d{3})*(,d{2})? (€|EURO?)
这将捕获数字。您永远不需要{1}
,因为这是默认的假设。空格也不需要转义。