2012-01-01 22 views
1

URLのページを一致させる方法:これらの文字列を許可されている正規表現 - 私はこのような文字列にマッチしたい

page 
page01-page02 
page01-page02-page03 
page-page/page/page-03-001 
p-a-g-e 
p/a/g/e 
123-456-789/123/123-456-789 
p 

私はマッチさせたいです。それらは、/で除算され、各/の間には、[a-z0-9]+、再び-で除算することができます。説明するのは難しい。私の例は物事をより明瞭にするはずです。

私は、この正規表現を思い付いた:

/(([a-z0-9]+)(\-[a-z0-9]+){0,})(\/([a-z0-9]+)(\-[a-z0-9]+){0,}){0,}/ 

あなたはそれをhereテストすることができます。

私の正規表現のスキルはそれほど素晴らしいことではありません。これらの文字列を照合するより良い方法があるかどうかを知りたいと思います。また、私は上の任意の良い正規表現ですか?

+1

+1私達にあなたの正規表現の風味のためのオンラインテスターを与えます。 – Birei

答えて

1

は、次の正規表現を試してみてください:

^[a-z\d]+((\/|-)[a-z\d]+)*$ 

は説明:

^      # Begin of match (zero-width) 
[a-z\d]+    # One or more combination of letters and digits (not included uppercase). 
(
    (\/|-)    # A '/' or '-' 
    [a-z\d]+    # One or more combination of letters and digits. 
)*      # All last combination zero or more times. 
$      # End of match (zero-width). 
+0

これは素晴らしい作品です!ありがとう! – Limeni

関連する問題