arvindcis Ответов: 3

Регулярное выражение для проверки url-адреса в C#


мой формат url-адреса таков
href="https://a.abc.io/00c8


Что я уже пробовал:

^(http|https):\/\/www.[a-z0-9]+(\.(com|org|edu|net|info|biz|gov|co|in|io)\/?)([a-zA-Z0-9]+)?$


но это не работает

3 Ответов

Рейтинг:
2

OriginalGriff

Это не работает, потому что пример URL-адреса, который вы показываете, не начинается с "www":

href="https://a.abc.io/00c8
Честно говоря, синтаксический анализ HTML с помощью регулярного выражения хорошо известен как плохая идея - вам было бы гораздо, гораздо лучше использовать что-то вроде Html Agility Pack | HAP[^] что делает такой сайт соскабливание всей нагрузки проще.

Но... если вы собираетесь использовать регулярные выражения, то получите копию Экспрессо[^] - это бесплатно, и он проверяет и генерирует регулярные выражения.


Рейтинг:
2

Patrice T

Цитата:
но это не работает

Просто, ваши URL-адреса сайта, которые оканчиваются на '.Ио' но ваше регулярное выражение принимает только сайты с 'ком|орг|образование|сеть|информация|Биз|правительства|Co|в'.
Вам нужно добавить "io" в список.
Как сказал ОГ, " www " - это еще одна проблема, потому что Ваш url-адрес не использует его.

Всего лишь несколько интересных ссылок, которые помогут построить и отладить регулярное выражение.
Вот ссылка на документацию по регулярным выражениям:
perlre - perldoc.perl.org[^]
Вот ссылки на инструменты, помогающие создавать регулярные выражения и отлаживать их:
.Объем тестер регулярное выражение - регулярное выражение шторм[^]
Регулярное Средство Выражения Эспрессо [^]
RegExr: Learn, Build, & Test RegEx[^]
Онлайн-тестер регулярных выражений и отладчик: PHP, PCRE, Python, Golang и JavaScript[^]
Этот пример показывает вам регулярное выражение в виде красивого графика, который действительно полезен для понимания того, что делает регулярное выражение:
Debuggex: онлайн-тестер визуальных регулярных выражений. JavaScript, Python и PCRE.[^]
Этот сайт также показывает регулярное выражение в красивом графике, но не может проверить, что соответствует регулярному выражению:
Regexper[^]


arvindcis

извините, что это была моя ошибка, но я действительно улучшил свой вопрос. все та же проблема

Patrice T

это не решило проблему решения 1.

Рейтинг:
2

abdul shakib

^http(s)?://([\w-]+.)+[\w-]+(/[\w- ./?%&=])?$