我有以下示例字符串:
The price is $54.00 including delivery
On sale for £12.99 until December
European pricing €54.76 excluding UK
我只想从他们每个人中返回价格和货币分母
$54.00
£12.99
€54.76
我的处理过程是拥有一组货币符号并搜索每个货币符号的字符串,然后仅捕获其后空格之前的字符 - 但是, $ 67.00 将失败
那么,我可以运行一组预设的货币符号,然后分解字符串并在下一个非数字字符(不是 .或 , - 或者也许使用正则表达式
这可能吗?
在正则表达式中,\p{Currency_Symbol}
or \p{Sc}
代表任何货币符号。
然而,PHP 支持 http://www.php.net/manual/en/regexp.reference.unicode.php仅简写形式\p{Sc}
and /u
需要修改器。
使用正则表达式模式
/\p{Sc}\s*\d[.,\d]*(?<=\d)/u
例如,您将能够匹配:
如果你想使用.
作为小数分隔符和,
作为千位分隔符,然后使用
/\p{Sc}\s*\d{1,3}(?:,\d{3})*(?:\.\d+)?/u
Check 这个演示 http://ideone.com/oFJhc2.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)