这是我的电话号码:
$1,000,000.00
100000000.00
100000
$1,000.00
2.000,00
10000,00
我想得到:
1000000.00
100000000.00
100000
1000.00
2000,00
10000,00
这是我的正则表达式:
[^\d(,.{3})]
我想删除除小数点或逗号以外的所有非数字,如果它位于右侧的第3位。这可能吗?
答案 0 :(得分:2)
字符集(或否定字符集)应仅 包含您要匹配的字符或不希望匹配的字符-如果要进行其他测试(例如所讨论的字符不在行尾附近),请在字符集的外部中进行这些测试。
在这里,您可以使用否定字符集
[^\d\n,.]
匹配非数字,换行符,逗号或句点的字符,并用
替换该字符集[,.](?!\d{2}$)
,它将匹配句号和逗号,后跟两个数字和该行的末尾。全部:
[^\d\n,.]|[,.](?!\d{2}$)
并替换为空字符串。输出:
1000000.00
100000000.00
100000
1000.00
2000,00
10000,00