是否可以定義一個正則表達式模式, 3個術語與主串中的位置無關?正則表達式問題:單詞的獨立位置
例如。我的字符串是一樣的東西"click here to unsubscribe: http://www.url.com"
的模式也應與"http:// unsubscribe click"
THX
是否可以定義一個正則表達式模式, 3個術語與主串中的位置無關?正則表達式問題:單詞的獨立位置
例如。我的字符串是一樣的東西"click here to unsubscribe: http://www.url.com"
的模式也應與"http:// unsubscribe click"
THX
這是可能,但結果很複雜regexs,如工作:
/(click.*unsubscribe|unsubscribe.*click)/
基本上,你每個訂單需要有不同的正則表達式部分。不理想。最好只使用多個正則表達式,每個術語一個。
或者使用「索引」或等價物三次。 – 2010-04-09 02:42:07
你能提供更多的細節嗎?我看不出條件如何提供幫助。 – 2010-04-08 21:28:11
您可以使用positive lookaheads。例如,
(?=.*click)(?=.*unsubscribe).*http
是一個正則表達式,將向前看從當前位置(不向前推進)爲click
,那麼對於unsubscribe
,然後正常搜索http
。
只有當「點擊」和「取消訂閱」在*「http」後面出現時才起作用,這與OP的第一個示例不同。 – 2010-04-08 21:21:55
@Alan Moore:的確如此。糾正。 – 2010-04-09 09:43:40
任何特定的原因,它將不得不用一個正則表達式來完成? – 2010-04-08 16:48:48
瞭解您正在使用哪種語言會很有幫助。不同的編程語言支持不同的正則表達式語法。 – 2010-04-08 17:45:07
你如何使用這個正則表達式?根據您是驗證短字符串還是在更大的文本(如網頁)中搜索此字符串,答案會有很大不同。 – 2010-04-08 21:25:53