我希望欧元格式只接受以下形式。
带有".“的三位数字被隔离。
我找到了这个表达方式,但并没有用我的方式:
^(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
我想要两位数的分钱是强制性的。
谢谢
发布于 2021-02-26 07:49:53
你可以试试
^(?!0\d)\d{1,3}(?:\.\d{3})*,\d{2}$^启动(?!0\d)负前瞻,确保没有像01,25这样的前导0,如果允许的话删除它\d{1,3} 1至3位数(?:\.\d{3})*之后出现的任何文本,如.123,\d{2}后面跟着两个小数位数,是强制性的。如果您希望它是可选的,请用(?:,\d{2})?替换它。$末端见测试用例
发布于 2021-02-26 07:47:03
-?(\d{1,3})(\.\d{3})*(,\d{2})? (€|EURO?)这将捕捉到数字。您从来不需要{1},因为这是默认的假设。另外,空间也不需要转义。
https://stackoverflow.com/questions/66381855
复制相似问题