/(?<!\d[- ]|[\d.,])-?[1-9]\d{0,2}(?:(?:[., ]\d{3})*|\d*)(?![\d%]|[- ][\d%])/
主题
812,30 48 kdk 1 54% 1.393.434 test 2.392,39 2,292.39
我不想用小数来匹配任何数量。那么台词呢 812,30 , 2.392,39 和 2,292.39
812,30
2.392,39
2,292.39
https://regex101.com/r/XPgypx/2
只需通过添加一个排除它们的负前瞻来排除它们。
(?!.*,.*\.*) 对于 2,292.39 搜索和 (?!.*\..*,*) 2.392,39 搜索就行了
(?!.*,.*\.*)
(?!.*\..*,*)
(?<!\d[- ]|[\d.,])-?[1-9]\d{0,2}(?:(?:[., ]\d{3})*|\d*)(?![\d%]|[- ][\d%])(?!.*,.*\.*)(?!.*\..*,*)
在这里测试它: https://regex101.com/r/XPgypx/4