我想在字符串中匹配正则表达式以匹配空格或特殊字符'/'。
这是我的代码
preg_match_all('/[\s]+('.$pattern.')/', $p_des, $matches_product);
此代码正确检查间距,但我还想包括OR条件,它可以检查空格或'/'或数字。
我尝试了/[[0-9]\s\/]('.$pattern.')/'
模式,但它与字符串不匹配。
感谢。
答案 0 :(得分:0)
您的[[0-9]\s\/](string|text)
模式已损坏,因为字符类[0-9]
放在字符类[\s\/]
中,第一个未转义的]
关闭字符类,其余的字符类模式被视为子模式的序列([[0-9]\s\/]
匹配[
或数字,然后是空格,后跟/
,例如1 /
或[ 2
)。
您需要改为使用[0-9\s\/]
或[\d\s\/]
。
preg_match_all('/[0-9\s\/]+('.$pattern.')/', $p_des, $matches_product);