-1

例。

  • URLはMATHHOFFAVS T-REXROUND1を提示します
  • URLはMATHHOFFAVS T-REXROUND2を提示します
  • URL Presents Young Miles vs Rich Dolarz Round 2
  • SMACK / URL PRESENTS AYE VERB vsO-RED
  • SMACK / URL PRESENTS ARSONAL VS CALICOE(FULL BATTLE))
  • SMACK / URL PRESENTS Rich Dolarz VS X-Factor(FULL BATTLE))
  • GrindTimeNow.NET:ステンレスvs 3pfd
  • GrindTimeNow.NET:5vs5リーグの発表!+ 40都市トライアウトツアー!
  • www.GrindTimeNow.NET:Magz vs K-mo(トライアウト)
  • GrindTimeNow.Net:Murs、Madd Illz、WordsworthがホストするScotty P vs Farnum
  • GrindTimeNow.Net:Kaveman Brown vs Real Talk
  • GrindTimeNow.Net:DIRTVSリチャードクラニウム
  • GrindTimeNow.Net:Jonny Storm vs Real Talk(Paid Dues 2012)

名前と名前を一致させたい-文字列は常に一貫しているとは限りません(例:Grindtimwnow.net、URL PRESENTS、SMACK / URL PRESENTS)-使用できる最大3つの異なる正規表現を使用する必要がある場合があることを理解しています。

私が抱えている問題は、次のことを試しました

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

すべての候補者の名前と一致するわけではありません。JonnyvsTalkのようなものがあります-名前には最大3/4の単語を含めることができます、簡単な解決策はありますか、それともいくつかの異なる正規表現を実行して最初に関数を作成する必要がありますか?攪拌をクリーンアップしてから正規表現しますか?

4

1 に答える 1

1

「vs」部分の前後に必ずしもスペースが必要ではないように見えるため、使用する正規表現には問題があると思います (「GrindTimeNow.NET: 5vs5 League Announcement! + 40 city tryout tour!」の例)。

私が見ている問題は、NAMEコンポーネントに正規表現を混乱させる文字「vs」が含まれている可能性があることです。

「vs」の前後にスペースが使用されている場合、この正規表現は機能するはずです

$ourRegex =  "/(.*) [v|V][S|s] (.*)/";
于 2012-07-08T21:56:40.833 に答える