我有这样的字符串:“ABC / ABC / 123”,“ABC / ABC / 123/567”,“ABC / 123”
我想搜索有两个以上的字符串“/”
我怎样才能使用正则表达式?
我找到了这样的解决方案:
´if($sku1!=$sku2 && preg_match("#^".$sku1."[/]#", $sku2) && substr_count($sku2, '/')==1) {´
有什么改进吗?
感谢您的帮助。
答案 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+斜线的最简单,最快捷的方法......