我想要的数字可以是5,000.23美元,也可以是22.43美元或3,000美元
这是我的正则表达式,这是PHP中的。
preg_match('/\$([0-9]+)([\.,]*)?([0-9]*)?([\.])?([0-9]*)?/', $blah, $blah2);它似乎匹配格式为$5,500.23的数字非常好,但是它似乎与任何其他数字不匹配,比如$0。
我怎样才能让一切都是可选的呢?分组()和使用问号不应该这样做吗?
发布于 2015-11-18 23:58:13
这应该能起作用:
\$[\d,.]*[\d]

特定的PHP示例:
$re = "/\\$[\\d,.]*[\\d]/";
$str = "\$1 klsjdfgsjdfg \$100 kjdfhglsjdfg \$1,000 jljsdfg \$1,000.00 ldfjhsdf";
preg_match_all($re, $str, $matches);https://stackoverflow.com/questions/33792808
复制相似问题