用PHP表示2个或更多字符串的正则表达式

时间:2012-04-27 10:32:15

标签: php regex

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

我想搜索有两个以上的字符串“/”

我怎样才能使用正则表达式?

修改

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

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

有什么改进吗?

感谢您的帮助。

3 个答案:

答案 0 :(得分:1)

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

^([^\/]+\/){2,}$

答案 1 :(得分:1)

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

$string = "ABC/ABC/123";

if (strpos($string, '/', strpos($string, '/') + 1) !== FALSE) {
    echo "2 or more slashes in this string!";
}

答案 2 :(得分:1)

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

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

修改

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