2017-02-22 8 views
3

特定の言語タグの最後のオカレンスと一致する正規表現を見つけようとしています。Regex:パターンの最後の出現を見つけよう

  • 特定言語タグ:_en
  • 言語タグ:また、パターンを

    title_en 
    components_en.video.title 
    components_en.video.title_en 
    components_en.video.the_end 
    components_es.video.title_en 
    

    _[a-z]{2}

例えば、パターン以下のすべてに一致しなければなりませんは次のいずれかと一致してはならないG:

title_es 
components_es.video.title 
components_en.video.title_es 
components_es.video.the_end 
+1

あなたの味は何ですか?(使用している言語) –

+0

elasticsearch(java) – clud

答えて

2

これはそれを行う必要があります。

_en(\.|$)(?!.*_[a-z]{2}(\.|$)) 

ここでは、それはあなたのテストケースで実行する方法を示すa fiddleです。

文字列全体を一致させる場合は、式の先頭に^.*と接尾辞の末尾に.*$を付けます。

^.*_en(\.|$)(?!.*_[a-z]{2}(\.|$)).*$ 

結果をthis fiddleに示す。

+0

これに文字列全体を一致させる方法はありますか? – clud

+0

@cludあなたにそれを打つ:)私の答えを更新しました。 –

+0

ドット( '\ .')は何のために良いですか?これは '... end'とは意図しない一致します。 – Bergi

関連する問題