2017-05-17 30 views
1

iは、文字列のこの形式を持っている:正規表現不規則なフォーマット文字列の入力

MY TITLE OF STRING 5 - EP.2 
MY TITLE OF STRING 6 - EP.3 

しかし、いくつかのケースでは、このルールジャンプと私の文字列は、そのようになることができます:

MY TITLE OF STRING 5- EP.2 
MY TITLE OF STRING 6-EP.3 

は、これは私の正規表現です

(\d*)\s-\s.*?EP.\s*(\d*) 

ただし、標準ケースのみで動作します。

答えて

1

あなたは*数量詞を使用して最初の\s一致0回以上の繰り返しを行うことができる:あなたが-間のできるだけ少ないとして任意の0+文字を一致させる必要がある場合は

(\d+)\s*-\s*EP.\s*(\d+) 
    ^

regex demo

を参照してくださいEP

(\d+)\s*-\s*.*?EP.\s*(\d+) 
+1

ああ、完璧なおかげ –

+1

@BillyDの終わりまで。あなたの問題が解決されたら*答えを受け入れることができますか? – Mistalis

1

Wiktorがすでに実用的な答えを出してくれているので、これも楽しいので、これも動作します:

(\d+)[\s-]+EP\.(\d+)$

説明

(\d+)少なくとも一桁

[\s-]+一つ以上のハイフン又はEP続い空間

EP\.

(\d+)$少なくとも一桁の文字列

Demo