php-货币正则表达式在php中不起作用,其他地方是
我有一个pregexphp-货币正则表达式在php中不起作用,其他地方是,php,regex,Php,Regex,我有一个pregex/[A-Z]{3}\s\(.\)/正在处理中,但是当我在php中使用它时,它会返回false和USD($)。我做错了什么 编辑: 我的php版本是5.4.32 if(preg_match('/[A-Z]{3}\s\(.\)/g', $var)){ return $var; }else{ return 'Money error'; } 这将返回$var='USD($)'的“Money error”;
/[A-Z]{3}\s\(.\)/
正在处理中,但是当我在php中使用它时,它会返回false和USD($)
。我做错了什么
编辑:
我的php版本是5.4.32
if(preg_match('/[A-Z]{3}\s\(.\)/g', $var)){
return $var;
}else{
return 'Money error';
}
这将返回$var='USD($)'的“Money error”;对我来说。您不能将
g
放在正则表达式的末尾:
php > echo preg_match("/[A-Z]{3}\s\(.\)/", 'USD ($)');
1
有,但是
g
不是其中之一。要进行全局搜索,请使用。在regexr.com中的regex关闭后有一个g属性,该属性不适用于php。请发布完整的代码,包括数据示例和您期望的内容。对我来说效果很好。从regex末尾删除了g字母。现在工作。