用于2个或更多字符串的正则表达式,使用php

用于2个或更多字符串的正则表达式,使用php,php,regex,Php,Regex,我有这样的字符串:“ABC/ABC/123”,“ABC/ABC/123/567”,“ABC/123” 我想搜索包含2个或更多“/”的字符串 我怎样才能用正则表达式做到这一点 编辑 我找到了这样的解决方案: ´if($sku1!=$sku2 && preg_match("#^".$sku1."[/]#", $sku2) && substr_count($sku2, '/')==1) {´ 有什么改进吗 谢谢您的帮助。是的,您可以使用正则表达式: ^([^\/]+\

我有这样的字符串:“ABC/ABC/123”,“ABC/ABC/123/567”,“ABC/123”

我想搜索包含2个或更多“/”的字符串

我怎样才能用正则表达式做到这一点

编辑 我找到了这样的解决方案:

´if($sku1!=$sku2 && preg_match("#^".$sku1."[/]#", $sku2) && substr_count($sku2, '/')==1) {´
有什么改进吗


谢谢您的帮助。

是的,您可以使用正则表达式:

^([^\/]+\/){2,}$
没有regexp(速度要快得多):


我同意adrien的观点:您完全有理由不使用regex,尽管我建议另一种解决方案:

$string = 'ABC/ABC/123';
if (count(explode('/',$string)) > 2)
{
    echo $string.' contains at least 2 slashes';
}
编辑


正如OP在下面的评论中指出的:
substr\u count($string,“/”)
是检查2+斜杠的最简单和最快的方法…

我已经使用了这样的正则表达式:
if($sku1!=$sku2&&preg\u match(“#^”$sku1.[/]\35;,$sku2)){
并且我想修改它,使其只接受只有一个“/”的变量为什么要用正则表达式这样做?
count(explode(“/”,$string))
在这里给出了斜杠数+1!这就是为什么,要检查2个或更多斜杠,计数必须大于2…传递“A/B”不会导致
A/B至少包含2个斜杠
子斜杠计数($string,“/”)在这种情况下´更简单;)@Bizboss:true,绝对正确…完全忘记了那个!:-D
$string = 'ABC/ABC/123';
if (count(explode('/',$string)) > 2)
{
    echo $string.' contains at least 2 slashes';
}