我找到了preg_match
和preg_match_all
,但这些只能一次使用一个正则表达式。
function match(){
$pattern = array(
'/^\-?\+?[0-9e1-9]+$/',
'/^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9 ]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$/'
);
$string = '234';
$pattern_mod = import(",",$pattern);
preg_match($pattern_mod ,$string);
这就是我想做的事情
答案 0 :(得分:2)
您可以使用正则表达式预测,其中主题将首先尝试匹配foo并且他们尝试匹配bar。 像这样:
$regexPass='/^(?=((.*[A-Za-z].*[0-9].*)|(.*[0-9].*[A-Za-z].*)))(.{6,})$/';
上面的正则表达式说它必须匹配第一个表达式((.*[A-Za-z].*[0-9].*)|(.*[0-9].*[A-Za-z].*)))
,在这种情况下是字母数字,至少有一个数字和一个字母,而且它们匹配至少6个数字。
以更简单的方式,你可以匹配foo,并且他们在最后有一个n
$regexPass='/^(?=.\*foo.\*)(.\*n)$/';
答案 1 :(得分:1)
如果我已正确“解密”您的问题,我认为您只是使用and
(如果必须匹配)or
(如果有的话)匹配至少一个运算符与preg_match
或preg_match_all
php函数。
这是编程宝贝:)
喜欢这个
$string='myString';
if( (preg_match(pattern,$string) and (preg_match(otherPattern,$string) )
{
//do things
[...]
}
or
if( (preg_match(pattern,$string) or (preg_match(otherPattern,$string) )
{
//do things
[...]
}
pattern
和otherPattern
是你的正则表达式
答案 2 :(得分:0)
我有两个选项,你可以使用任何一个适合你的需要(我正在使用和条件只是一个例子) -
1)
$subject = "abcdef";<br />
$pattern = '/^def/'; <br />
$result = preg_match($pattern, substr($subject,3)); <br/>
$result1 = preg_match("/php/i", "PHP is the web scripting language of choice."); <br />
echo ($result && $result1)?"true" :"false"
2)
echo (preg_match($pattern, substr($subject,3)) && preg_match("/php/i", "PHP is the web scripting language of choice."))?"true" :"false";
虽然两者几乎相同,但代码的方式不同,请选择一个符合您口味的方法。