1
我已經從YouTube視頻中抓取了標題。我已經降低到類似於這些字符串:正則表達式拆分'VS Teamnames'字符串
string1 = "Red~VS~Blue";
string2 = "oRange v wHite";
string3 = "black knights verses purple people";
team0 = string.split(regexp)[0];
team1 = string.split(regexp)[1];
我試圖使用JavaScript的string.split
方法,每個字符串分解成兩個teamnames的數組。空間或分隔符能否通過並不重要,因爲它們可以在以後輕鬆清理。我也希望正則表達式具有一些基本的錯字捕捉功能。
正則表達式:
regexp = /\Wv(s|\W)/i; \\Should match " v " or " vs", gives 3 results instead of 2
regexp = /\Wv[s\W]/i; \\Works as I thought the above should
regexp = /\W(vs|v\W|vers[eu]s)/i \\attempt at dealing with typos, doesn't work
當我添加的,而不是包裹什麼我已經寫了更多的括號()
,也容易增加額外的結果拆分。我已閱讀了關於正則表達式here和here的這些教程以及stackoverflow的一些答案,但我找不到任何與幫助相關的內容。我該如何解決這個問題?
謝謝!匹配的詩將是一個積極的,並且versu不太可能被輸入,是?:相當於?=和)?相當於 )* ? – Crazometer
@Crazometer:'(?:...)'是一個非捕獲組,因此它就像普通的'(...)'一樣工作,但不存儲匹配的內容以備後用(「反向引用」)因此速度更快。我只是注意到,外部對是多餘的,但;我現在要清理它。 –