如何在preg_match中合并2个或更多patern?

时间:2015-11-22 08:13:37

标签: php preg-match

嗨我怎样才能在preg_match中合并2个或更多?

例如:

1: /^([\x{0600}-\x{06FF}| |\x{200C}])+$/
2: A-Z a-z
3: 1-9
4: ۱-۹

1 + 2→?

1 + 2 + 3 + 4?

编辑:

例如我想要这样做:

if(preg_match(A-Z) OR preg_match(1-9))
   echo 'string is number or alphabet or both';
else
  echo 'wrong string';

1 个答案:

答案 0 :(得分:0)

不确定我理解您的需求,但在我看来您想要使用lookahead

/^(?=.*[\x{0600}-\x{06FF} \x{200C}])(?=.*[a-zA-Z])(?=.*[1-9])(?=.*[۱-۹])/

,其中

(?=.*[\x{0600}-\x{06FF} \x{200C}])确保我们在范围内至少有一个字符
(?=.*[a-zA-Z])确保我们至少有一个字母字符
(?=.*[1-9])确保我们至少有一位数字 (?=.*[۱-۹])确保我们至少有一位数字

这四个条件是强制性的。