「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 (count(explode('/',$string)) > 2)
{
echo $string.' contains at least 2 slashes';
}
編集
OPが以下のコメントで指摘しているsubstr_count($string,'/')ように、2つ以上のスラッシュをチェックする最も簡単で最速の方法です...
正規表現なし(はるかに高速):
$string = "ABC/ABC/123";
if (strpos($string, '/', strpos($string, '/') + 1) !== FALSE) {
echo "2 or more slashes in this string!";
}