Нет. На самом деле это не совпадает с URL-адресами. Он пытается обнаружить имена хостов, написанные в тексте, например www.example.com
.
Его подход заключается в попытке обнаружить некоторые общие известные домены верхнего уровня, но:
[com|net|org|info\.]+
фактически группа характеров, позволяя любую последовательность символов из списка |.comnetrgif
. Вероятно, это означало:
((com|net|org|info)\.)+
[www]
, а также является так же неправильно, а также бизнес с dot
на самом деле не имеет никакого смысла.
Но это, в общем, очень плохая идея. Есть way больше TLDs общего пользования, чем только те и 2-буквенные CCTLD. Также многие/большинство CCTLD не имеют домена com/net/org/info второго уровня. Это выражение не будет соответствовать этим и будет соответствовать множеству других вещей, которые не должны быть именем хоста.
На самом деле задача обнаружения имен хостов в основном невозможна, поскольку одно слово может быть именем хоста, как и любая последовательность слов, разделенная точками. (И поскольку введены интернационализированные доменные имена, почти все может быть именем хоста, например 例え.テスト
.)
'[www]' не так, как вы думаете. Читайте о [классах персонажей] (http://www.regular-expressions.info/charclass.html) – Amarghosh
Вы пишете это самостоятельно? И что вы подразумеваете под любым URL-адресом? – Gumbo
'museum' является допустимым доменным именем верхнего уровня, таким как' com', 'net' и т. Д. – Amarghosh