2013-07-04 44 views
0

當我需要檢測URL時,以下正則表達式可以很好地工作。排除正則表達式中的特定字符

`((?:https?|ftp)://\S+?)(?=[]).,;:!?]?(?:\s|\Z)|\Z)` 

但我也有其檢測一個正則表達式的[url = ...] ... [/ URL]碼,並且在這種情況下,文本變爲:......,和作爲http: // ...仍然存在,URL會被引用的正則表達式第二次檢測到。

我想,以防止啓動等號的URL從以前的正則表達式被檢測: 的http:// ...會被檢測到,但不等於HTTP://

我試過

`(^\=)((?:https?|ftp)://\S+?)(?=[]).,;:!?]?(?:\s|\Z)|\Z)` 

但它不起作用。

感謝提前! :)

回答

0

認爲有以下會工作使用負回顧後(?<!)

(?<!=)((?:https?|ftp)://\S+?)(?=[]).,;:!?]?(?:\s|\Z)|\Z) 
+0

嘗試過了,它看起來像它的工作原理,謝謝! :) – user2543708