第一沒有我說的最後
首先我說的最後
第一個不是最後
第一個最後
第一沒有TE最後
第一TE最後
第一沒有LA最後
第一拉最後
或
第一最後
的規則圖案:
first ((no)?((lo)|(no)|(la)|(te)|(me)))? last
不能匹配
first last
怎樣才能使這個比賽與
first last
或
的規則圖案:
first ((no)?((lo)|(no)|(la)|(te)|(me)))? last
不能匹配
first last
怎樣才能使這個比賽與
first last
你的正則表達式中包含兩個空格。
刪除其中之一。
first((no)?((lo)|(no)|(la)|(te)|(me)))? last
或
first ((no)?((lo)|(no)|(la)|(te)|(me)))?last
在正則表達式的地方添加一個可選的空間,如:
first ((no)?(((lo)|(no)|(la)|(te)|(me))))?last
你的正則表達式需要兩路空 - 一個在可選的中央正則表達式的每一端。
這個正則表達式將「last」的前導空間移動到「lo | no | la ...」正則表達式的尾部空間中,賦予它類似於可選「no」的效果。
+1,但寫出例如'首先(?= [^])?'而不是簡單的'先?'。 – ruakh
+1,如果您認爲可以工作,請參閱我的解決方案。謝謝。 –
你當前的正則表達式有兩個空格。使第二個空間可選。
你只需要,如果有一個no
額外的空間,因此使之成爲集團的一部分。
first ((no)?((lo)|(no)|(la)|(te)|(me)))?last
不管你用空格做的,是一致的,要小心他們去哪個組要麼把他們立即跟隨他們屬於或之前的一個詞。這應該是等價的,但這個詞之前提出的空間,而不是後:
first((no)?((lo)|(no)|(la)|(te)|(me)))? last
你可能要考慮使用\s
字符類+
相結合,與空白更加靈活。
試試這個可能會對你有幫助。我根據你提供的鏈接做了這個,所以在真實場景中可能是錯誤的。
這也將不比賽(如果你不想)第一沒有拉最後最後最後
first ((no)?((lo)|(no)|(la)|(te)|(me))?)?last$
這是有效的太「首先沒有我說的最後最後最後」? –