2017-05-17 274 views
1

我有字符串的格式如下:正則表達式不規則格式字符串輸入

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比賽使用*量詞零個或多個:

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

regex demo

如果你需要儘可能少的匹配任何字符0+儘可能-之間EP,在圖案中重新插入.*?

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

哦完美的感謝 –

+1

@BillyD結束。如果解決了你的問題,你能否接受答案? – Mistalis

1

只爲了有趣,因爲Wiktor已經給出了一個工作答案,這一個也將工作:

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

說明

(\d+)至少一個數位

[\s-]+一個或多個連字符或空間

EP\.隨後EP。

(\d+)$至少一個數字,直到字符串

Demo

相關問題