2016-04-26 5 views
1

URLに言語コードが含まれている場合、検出したいと思います。 enまたはskのいずれかになりますが、今後はさらに多くなります。文字列の一部または行末が含まれています

これらは私が試してみたいURLです:

1 - http://localhost/website/en 
2 - http://localhost/website/endorphin 
3 - http://localhost/website/en/ 
4 - http://localhost/website/en/test 
5 - http://localhost/website/sk/entity 

ので、例えば、私はURLがen言語コードを持っているかどうかを知りたいです。

1 - false - should be TRUE 
2 - false - OK 
3 - true - OK 
4 - true - OK 
5 - false - OK 

そして、私が試したパターン:/(\/en[\/{0,1}|\b])/mi私は、URLを上に書いて、結果はしてみてください。

ライブプレビュー:PHP Sandbox

+2

[en or sk](https://regex101.com/r/qM8bT9/1) – rock321987

+0

ありがとうございます、あなたは答えとしてそれを送るべきです。 – debute

+0

@ rock321987私は正規表現で本当にうまくいない、私は1つを選択したい/ 'またはなし。私は知っている、ラメ。 – debute

答えて

2

次の正規表現は、enまたはsk

\/(en|sk)(?:\/|$) 

Regex Demo

正規表現の内訳

ために動作します
+1

'/'と' $ 'は単語の境界なので、' \ b'は両方とも不要。 –

+0

@Jordanは同じことをしていた。 – rock321987