我需要一個正則表達式,它以相同的方式使用點和逗號對待數字。逗號不應被視爲千位分隔符。帶點和逗號的正則表達式數
例子:
9.8
9,8
應該返回9.8兩
我嘗試這樣做,但它不工作。
^(\d+(?:[\.\,]\d{2})?|)$
我需要一個正則表達式,它以相同的方式使用點和逗號對待數字。逗號不應被視爲千位分隔符。帶點和逗號的正則表達式數
例子:
9.8
9,8
應該返回9.8兩
我嘗試這樣做,但它不工作。
^(\d+(?:[\.\,]\d{2})?|)$
PHP
$re = '/(,)/mx';
$str = '9.8 \n9,8';
$subst = '.';
preg_replace($re, $subst, $str);
JAVASCRIPT
var re = /(,)/gmx;
var str = '9.8 \n9,8';
var subst = '.';
str.replace(re, subst);
PYTHON
import re
p = re.compile(r'(,)', re.MULTILINE | re.VERBOSE)
str = "9.8 \n9,8"
subst = "."
re.sub(p, subst, str)
你的正則表達式^(\d+(?:[\.\,]\d{2})?|)$
匹配的數字,如果你想匹配小數的任何數量(1或更多)具有完全相同2位小數,使用:
^(?:\d+(?:[.,]\d+)?|)$
在問你這個問題之前你有什麼嘗試嗎? – csmckelvey
所以'2,223,3''等於'2.22.333' – aelor
是的我試過這個: – user3583805