2012-07-08 44 views
-1

示例。匹配所有內容,但預先確定前後對比

  • URL PRESENTS MATH霍法VS T-REX ROUND 1
  • URL呈現MATH霍法VS T-REX ROUND 2
  • URL介紹楊氏數VS富Dolarz回合2
  • SMACK/URL PRESENTS AYE VERB VS O型RED
  • SMACK/URL PRESENTS ARSONAL VS CALICOE(FULL戰鬥))
  • SMACK/URL PRESENTS富Dolarz VS X因素(FULL戰鬥))
  • GrindTimeNow.NET:不鏽鋼vs 3pfd
  • GrindTimeNow.NET:5vs5聯賽公告! + 40城市試用遊!
  • www.GrindTimeNow.NET:MAGZ與K-MO(選拔賽)
  • GrindTimeNow.Net:斯科蒂P VS Farnum由米爾,MADD Illz和華茲華斯
  • GrindTimeNow.Net託管:Kaveman布朗vs皇家通話
  • GrindTimeNow.Net:DIRT VS理查德CRANIUM
  • GrindTimeNow.Net:Jonny風暴vs皇家講座(支付會費2012)

我想匹配名稱VS名稱 - 字符串並不總是一致例如Grindtimwnow。網絡,網址PRESENTS和SMACK/URL PRESENTS - 我說d我可能需要使用最多三種不同的正則表達式,我可以使用這些正則表達式。

我有這個問題,已經嘗試了下面

$ourRegex = "/(\b\w+\W+){0,3}vs(\W+\w+){0,3}/"; 
$ourRegex = "/:\s+(.+?)\s+Vs\s+(.+)$/"; 
$ourRegex = '/\s+(.+?)\s+Vs\s+(.+)$/'; 

這麼想的比賽所有的競爭者的名字,我得到的東西像強尼VS講座 - 名稱可以有最多三個/四個字他們,有沒有簡單的解決方案,或者我需要運行幾種不同的正則表達式,並建立一個函數來首先清理stirng然後將其正則表達呢?

回答

1

我想你使用的任何正則表達式都會有問題,因爲它看起來像「vs」部分不一定在前後跟一個空格(在「GrindTimeNow.NET:5vs5聯盟公告!+ 40城市試用遊! 「示例)

我看到的問題是NAME組件可能包含會混淆正則表達式的字符」vs「。

如果空間用於之前和之後「與」那麼這個正則表達式應該工作

$ourRegex = "/(.*) [v|V][S|s] (.*)/"; 
+0

完美的作品,謝謝! – 2012-07-09 10:40:41

+0

很高興聽到它的工作。請記得接受正確的答案。 – crempp 2012-07-09 22:08:24

相關問題