2016-08-09 7 views
1

に正確に2スラッシュを持っている文字列と一致する方法。 は例えば、私は次のような構造に一致する文字列を検索しますクエリを必要とする:は、私はパスの多くのデータベースを持っている、と私は唯一の2つのレベルではなく、より多くの以下を持っているすべてのパスを見つける必要があるのMySQL

folder/folder/file.ext 

でもない:長い

folder/file.extなくfolder/folder/folder/file.extか何か

ここに私の推測ではREGEXを使用することで、正確に2つのスラッシュを持つ文字列を一致させる/しかし、私はどのように式を作成するかわからない:

私の場合は

は、私が2つのスラッシュを見つける必要があり、非常に具体的であるが、理想的には、この答えは、3またはXスラッシュの数や文字列に対して繰り返さ他の文字を探している誰のために有用であろう。

+0

'/フォルダ/ file.txt'については何?それには2つのスラッシュがありますが、1つしかありません。 – chris85

+0

たぶん、その場合、私は3つのスラッシュを探します。 – multimediaxp

答えて

6

最も簡単な方法は、likeを使用しています:正規表現はトリッキーであるよう

where name like '%/%/%' and 
     name not like '%/%/%/%' 

がこれを行います。正規表現として

where length(name) - length(replace(name, '/', '')) = 2 

where name regexp '^([^/]*[/]){2}[^/]*$' 

だから、おそらくあまりscrutableが可能であるが、しかし、ここでもう一つの方法があります。

0
WHERE LENGTH(name) = 2 + 
     LENGTH(REPLACE(name, '/', '')) 
関連する問題