是否可以定义一个正则表达式模式, 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