使用正则表达式检查空格或特殊字符

时间:2017-01-24 07:11:59

标签: php regex

我想在字符串中匹配正则表达式以匹配空格或特殊字符'/'。

这是我的代码

preg_match_all('/[\s]+('.$pattern.')/', $p_des, $matches_product);

此代码正确检查间距,但我还想包括OR条件,它可以检查空格或'/'或数字。

我尝试了/[[0-9]\s\/]('.$pattern.')/'模式,但它与字符串不匹配。

感谢。

1 个答案:

答案 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);