我有这样的字符串:“ABC/ABC/123”、“ABC/ABC/123/567”、“ABC/123”
我想搜索有 2 个或更多“/”的字符串
我怎样才能用正则表达式做到这一点?
编辑
我找到了这样的解决方案:
´if($sku1!=$sku2 && preg_match("#^".$sku1."[/]#", $sku2) && substr_count($sku2, '/')==1) {´
有什么改善吗?
感谢帮助。
是的,您可以使用正则表达式:
^([^\/]+\/){2,}$
没有正则表达式(快得多):
$string = "ABC/ABC/123";
if (strpos($string, '/', strpos($string, '/') + 1) !== FALSE) {
echo "2 or more slashes in this string!";
}
我同意 adrien 的观点:你完全有理由不为此使用正则表达式,尽管我建议另一种解决方案:
$string = 'ABC/ABC/123';
if (count(explode('/',$string)) > 2)
{
echo $string.' contains at least 2 slashes';
}
编辑
正如 OP 在下面的评论中指出的那样:substr_count($string,'/')
是检查 2+ 斜线的最简单和最快的方法......