-2

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

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

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

编辑

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

´if($sku1!=$sku2 && preg_match("#^".$sku1."[/]#", $sku2) && substr_count($sku2, '/')==1) {´

有什么改善吗?

感谢帮助。

4

3 回答 3

1

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

^([^\/]+\/){2,}$
于 2012-04-27T10:34:57.340 回答
1

没有正则表达式(快得多):

$string = "ABC/ABC/123";

if (strpos($string, '/', strpos($string, '/') + 1) !== FALSE) {
    echo "2 or more slashes in this string!";
}
于 2012-04-27T10:40:15.173 回答
1

我同意 adrien 的观点:你完全有理由为此使用正则表达式,尽管我建议另一种解决方案:

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

编辑

正如 OP 在下面的评论中指出的那样:substr_count($string,'/')是检查 2+ 斜线的最简单和最快的方法......

于 2012-04-27T10:48:21.687 回答