在Regex测试页面上进行测试时,下面的正则表达式适用于所有货币。
虽然在我的页面中,它只适用于$ currency。
我为不同的角色集改变了MetaTag,没有运气。
可能有什么不对?
if (preg_match_all('([£€$¥]([ 0-9]([ 0-9,])*)(\.\d{2})?|([0-9]([0-9,]))(\.\d{2})?([pcm]|bn| [mb]illion))', $tout, $matches))
我想提取以下任何数量(没有空格)任何4个货币符号。
答案 0 :(得分:1)
您正在使用的表达式是有效的,并且似乎与预期的输出匹配。也就是说,如果文件保存为UTF-8。
如果输入采用不同的编码,则无法正常工作。此外,如果输入确实是UTF-8但是源if不是,则正则表达式似乎会失败,因为它会尝试匹配不同的字符(非UTF-8编码等价物)。