要格式化從第三方服務正確數據改變貨幣的位置,我在想,如果這個表達式是不夠簡潔:我如何使用正則表達式
(([\d,.]+))(1?\sR\$)
可以改變:爲
from 200 R$ to 400 R$ (32 products)
這樣的:
from R$ 200 to R$ 400 (32 products)
格式化此輸出,我使用的Preg用$3 $1
來代替文本,如http://www.regextester.com/
這是夠好還是正則表達式不夠?
要格式化從第三方服務正確數據改變貨幣的位置,我在想,如果這個表達式是不夠簡潔:我如何使用正則表達式
(([\d,.]+))(1?\sR\$)
可以改變:爲
from 200 R$ to 400 R$ (32 products)
這樣的:
from R$ 200 to R$ 400 (32 products)
格式化此輸出,我使用的Preg用$3 $1
來代替文本,如http://www.regextester.com/
這是夠好還是正則表達式不夠?
正則表達式:(\d+[.,]?\d*)(\s*)(R\$)
更換:$3$2$1
測試輸入:
from 200 R$ to 400 R$ (32 products)
from 0,200 R$ to 0.400 R$ (32 products)
from 2,00 R$ to 4.00 R$ (32 products)
測試輸出:
from R$ 200 to R$ 400 (32 products)
from R$ 0,200 to R$ 0.400 (32 products)
from R$ 2,00 to R$ 4.00 (32 products)
如果您希望在不LEA還解析小數丁零,如.200
,然後使用正則表達式
(?=[.,]?\d)(\d*[.,]?\d*)(\s*)(R\$)
你絕對可以刪除第一套或支架
與$2 $1
什麼是1?
好更換?如果有1處,將將由[\d,.]+
匹配第一組的結束,所以它也是多餘
別拿\s
到你的捕獲組,你將不得不在隨後一個得多結果
所以我認爲這將是你的正則表達式:
([\d,.]+)\s(R\$)
而且可測試與此javascript:' 「從200 R $ 400 R $」 .replace(/(([\ S + \ d,。] +)) (1?\ sR \ $)/ g,「$ 3 $ 1」);' – 2012-08-09 12:10:59