Регулярное выражение для проверки URI

URI specification says:

Следующая строка представляет собой регулярное выражение для разделения правильно сформированной ссылки URI на ее компоненты.

^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?

(Полагаю, это то же регулярное regular-expressions выражение, что и в ссылке .net STD66, приведенной в другом dotnet ответе.)

Но разбивка не проверка. Чтобы правильно dotnet проверить URI, нужно преобразовать perlre BNF for URIs в регулярное выражение. Хотя regex-php некоторые BNF не могут быть выражены regularexpression как регулярные выражения, я regex думаю, что с этим это можно сделать. Но regex-php этого делать не следует - это regularexpression будет огромная неразбериха. Лучше regex-php использовать библиотечную apache-regexp функцию.

.net

regex

2022-11-11T00:38:02+00:00
Вопросы с похожей тематикой, как у вопроса:

Регулярное выражение для проверки URI