2012-07-05 37 views
0

我有以下字符串。正則表達式 - 查詢,隔離

安德魯 - 鮑勃 - 周杰倫VS約翰

現在,所有四個名字可以隨時改變,我惟一真正關心不過是之前在這不斷的隔離周杰倫VS約翰獨立的名稱,是格式總是遵循

world1 - world2 - X vs Y 

我該如何檢查X vs Y,無視第2個?

我試過了。

'%- (.*?) Vs (.*)$%'; 

無濟於事。

任何幫助將不勝感激。

而且 - 以下的建議我該如何應對,我想不顧一切最左邊比兩個參與者的名字其他測試用例 - 的例子包括..

www.GrindTimeNow.NET: Magz vs K-mo (Tryouts) 

SMACK/ URL PRESENTS JC VS GA 

POISONPEN.TV PRESENTS PH VS DIRT BAG DAN 

KOTD - Rap Battle - Arsonal vs Illmaculate 

DON'T FLOP - ‬Rap Battle - Arkaic Vs Dekay 

回答

4

所以,您只需要捕獲由'vs'和一些空格分隔的兩個名稱。這應該工作:

%(\w+)\s+vs\s+(\w+)%i 

See a demo at regexr

+0

我明白和欣賞它的作品在理論上,但肯定在實際使用中 - – 2012-07-05 19:13:15

+0

如果任上的「VS」每邊的項目都超過一個字。例如 例如。 約翰戴維斯vs鮑勃史密斯?甚至更糟。 JABBA JABBA JABBA VS FOO FOO FOO NINJA? – 2012-07-05 19:13:54

+0

您需要**清楚地定義**並說明您的要求。你的一個例子是每個人都有一個名字,所以你得到了一個適用於這種情況的正則表達式。用更多的測試用例編輯你的問題,我可以更新我的答案。否則,沒有人能讀懂你的想法。 – nickb 2012-07-05 19:15:35