PHP 正则表达式,无法跳过括号
PHP Regex, Failure to skip brackets
我想找到一个模式“and b_start in (ANYTHING)”并将其替换为空字符串。我的以下代码不起作用;恐怕这是由于模式中的括号造成的。任何人都可以帮助指出它有什么问题吗?非常感谢。
$a=" and b_start in (2,3,5,6...) and b_end in (4,5,3,4,5...)";
$b=preg_replace("/ and b_start in \(.*\)/", "", $a);
我希望 $b 到 return " 和 b_end in (4,5,3,4,5...)";
你需要让你的正则表达式变得懒惰,默认情况下它本质上是贪婪的,所以它会尽可能多地匹配Regex Ref
/ and b_start in \(.*?\)/
$a=" and b_start in (2,3,5,6...) and b_end in (4,5,3,4,5...)";
$b=preg_replace("/ and b_start in (.*?)/", "", $a);
echo $b;
我想找到一个模式“and b_start in (ANYTHING)”并将其替换为空字符串。我的以下代码不起作用;恐怕这是由于模式中的括号造成的。任何人都可以帮助指出它有什么问题吗?非常感谢。
$a=" and b_start in (2,3,5,6...) and b_end in (4,5,3,4,5...)";
$b=preg_replace("/ and b_start in \(.*\)/", "", $a);
我希望 $b 到 return " 和 b_end in (4,5,3,4,5...)";
你需要让你的正则表达式变得懒惰,默认情况下它本质上是贪婪的,所以它会尽可能多地匹配Regex Ref
/ and b_start in \(.*?\)/
$a=" and b_start in (2,3,5,6...) and b_end in (4,5,3,4,5...)";
$b=preg_replace("/ and b_start in (.*?)/", "", $a);
echo $b;