PHP-preg_match()
如果字符串可以在/$reg/中匹配,则此代码将打印“Get match”。对于我来说,不仅可以匹配,而且可以显示来自该正则表达式的所有可能字符串。例如,我的正则表达式是“(a | b)*”,可能的字符串是aaaa、abbb、bbbbbb、bbbaa等。我想打印最大长度为5的所有字符串。PHP-preg_match(),php,preg-match,Php,Preg Match,如果字符串可以在/$reg/中匹配,则此代码将打印“Get match”。对于我来说,不仅可以匹配,而且可以显示来自该正则表达式的所有可能字符串。例如,我的正则表达式是“(a | b)*”,可能的字符串是aaaa、abbb、bbbbbb、bbbaa等。我想打印最大长度为5的所有字符串。 if(isset($_POST['calc'])){ $reg = $_POST['regex']; $str = $_POST['str']; if (preg_match("/$reg/", $str))
if(isset($_POST['calc'])){
$reg = $_POST['regex'];
$str = $_POST['str'];
if (preg_match("/$reg/", $str))
{
echo "Got match!";
}
else
{
echo "String not valid";
}
}
?>
使用
这将查找最大长度为5的连续“a”或“b”字符的所有字符串
unset($matches);
if (preg_match_all("/$reg/", $str, $matches, PREG_PATTERN_ORDER))
{
var_dump($matches[0]);
}
瞧。谢谢,先生,我能问个问题吗?如果这找到了顺序“a”或“b”的所有字符串,那么参数($str)中仍然有一个字符串。我应该在那里放什么字符串?@John
$str
是搜索的主题
unset($matches);
if (preg_match_all("/$reg/", $str, $matches, PREG_PATTERN_ORDER))
{
var_dump($matches[0]);
}