Кто-нибудь может помочь с этим регулярным выражением?Это 99% пути туда.Просто очень странная пара неудачных тестов.
Для: "http://www.server.com" и" http://www.server.com "Регулярное выражение соответствует" http://www.server.co" Я предполагаю, что это должноне удалось выполнить совпадение из-за предвидения для закрывающего тега.
(?<!(?:>\s*)|(?:href="")) (?# Anti-Anchor Tag)
(?:(?:https?|ftp)://) (?# Protocol)
(?# Username/Password intentionally left out)
(?:
(?!10(?:\.\d{1,3}){3}) (?# Exclude 10.X.X.X)
(?!127(?:\.\d{1,3}){3}) (?# Exclude 127.X.X.X)
(?!169\.254(?:\.\d{1,3}){2}) (?# Exclude 169.254.X.X)
(?!192\.168(?:\.\d{1,3}){2}) (?# Exclude 192.168.X.X)
(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2}) (?# Exclude 172.X.X.X)
(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]) (?# IP address)
)|(?:
(?:[\w\d\u00a1-\uffff]+-?)*[\w\d\u00a1-\uffff]+) (?# First part of host)
(?:\.(?:[\w\d\u00a1-\uffff]+-?)*[\w\d\u00a1-\uffff]+)* (?# Middle parts of host)
\.[\w\d\u00a1-\uffff]+ (?# Last part of host)
)
(?::\d{2,5})? (?# Port number)
(?:/[^\s\?#]*)? (?# Folders & Files)
(?:\?[^\s#]*)? (?# Query String)
(?:\#\S*)? (?# Fragment)
(?!\s*</a>) (?# Anti-Closing Anchor Tag)
Кстати, это модифицированная версия @diegoperini, найденная в https://mathiasbynens.be/demo/url-regex