我有以下字符串要处理
Name ( $4 USD )
Name ( $4.1 USD )
Name ( $4.12 USD )
Name ( $4123123.02 USD )
我想从他们身上获得美元 现在我使用follwoing正则表达式
Regex regex = new Regex(@"\( \$(?<cash>\d+\.\d{1,2}) USD \)");
但它与第一个例子不匹配。我应该更改什么来使。\ d {1,2}部分可选? 谢谢!
答案 0 :(得分:3)
Regex regex = new Regex(@"\( \$(?<cash>\d+(?:\.\d{1,2})?) USD \)");
(?:...)
是一个非捕获组,以下?
使该组可选。