我正在编写一个函数,该函数匹配一个带有精确模式的字符串,并返回匹配的模式。
$string = 'download_finalbuild_123';
现在我有一个字符串
foreach($patterns as $pattern){
$matched_pattern = '';
if(match_pattern($pattern,$string){
$matched_pattern = $pattern;
break;
}
}
echo 'Matched pattern is ' . $matched_pattern;
我想比较这个字符串并返回匹配的模式。所以我使用了一个foreach语句
function match_pattern($first,$second){
//Some magic here which return true if both parameters match
}
现在我想要一个函数match_pattern,如果pattern与string匹配,则返回true。
{{1}}
答案 0 :(得分:0)
您需要准备一组正则表达式模式,并且需要在foreach
和preg_match
中使用它,如
$patterns = array(
'pages\/[a-zA-Z]+\/[\d]+',
'profile\/[\d]+',
'download_[a-zA-Z]+_[\d]+'
);
$string = 'download_finalbuild_123';
$str = "";
foreach($patterns as $v){
if(preg_match("/$v/",$string)){
$str .= "Match string matches $v pattern";
}
}
echo $str;
<强>输出强>
Match string matches download_[a-zA-Z]+_[\d]+ pattern