正则表达式匹配除特定位置的小数点或逗号之外的所有非数字
Regex match all non-digits except decimal or comma at a specific position
这是我的号码:
,000,000.00
100000000.00
100000
,000.00
2.000,00
10000,00
我想得到:
1000000.00
100000000.00
100000
1000.00
2000,00
10000,00
这是我的正则表达式:
[^\d(,.{3})]
我想删除除小数点或逗号以外的所有非数字,如果它位于右数第 3 个位置。这可能吗?
字符集(或否定字符集)应该只包含那些你想匹配的字符,或者那些你不想匹配的字符——如果你想执行额外的测试(例如有问题的字符不在行尾附近),在字符集 之外 进行这些测试。
这里可以使用负数字符集
[^\d\n,.]
匹配非数字、换行符、逗号或句点的字符,并用
替换该字符集
[,.](?!\d{2}$)
这将匹配后面没有两位数字和行尾的句点和逗号。全文:
[^\d\n,.]|[,.](?!\d{2}$)
并替换为空字符串。输出:
1000000.00
100000000.00
100000
1000.00
2000,00
10000,00
这是我的号码:
,000,000.00
100000000.00
100000
,000.00
2.000,00
10000,00
我想得到:
1000000.00
100000000.00
100000
1000.00
2000,00
10000,00
这是我的正则表达式:
[^\d(,.{3})]
我想删除除小数点或逗号以外的所有非数字,如果它位于右数第 3 个位置。这可能吗?
字符集(或否定字符集)应该只包含那些你想匹配的字符,或者那些你不想匹配的字符——如果你想执行额外的测试(例如有问题的字符不在行尾附近),在字符集 之外 进行这些测试。
这里可以使用负数字符集
[^\d\n,.]
匹配非数字、换行符、逗号或句点的字符,并用
替换该字符集[,.](?!\d{2}$)
这将匹配后面没有两位数字和行尾的句点和逗号。全文:
[^\d\n,.]|[,.](?!\d{2}$)
并替换为空字符串。输出:
1000000.00
100000000.00
100000
1000.00
2000,00
10000,00