-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 (count(explode('/',$string)) > 2)
{
    echo $string.' contains at least 2 slashes';
}

編集

OPが以下のコメントで指摘しているsubstr_count($string,'/')ように、2つ以上のスラッシュをチェックする最も簡単で最速の方法です...

于 2012-04-27T10:48:21.687 に答える
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 に答える