Regex не соответствует URL-адресу punycode - PullRequest
0 голосов
/ 10 июня 2019

У меня был URL-адрес, который при преобразовании в punycode имеет суффикс xn ----, который не соответствует всем регулярным выражениям, присутствующим в библиотеках ruby. В настоящее время я использую библиотеку validates_url_format_of ruby. Пример URL: "https://www.θεραπευτικη -κανναβη.com.gr " URL-адрес Punycode: "https://www.xn ---- ylbbafnbqebomc7ba3bp1ds.com.gr "

Итак, не могли бы вы предположить, есть ли какая-либо проблема в регулярном выражении в библиотеке или проблема заключается в преобразовании в punycode.

Согласно правилам преобразования punycode суффикс всегда равен xn--. Так может кто подсказать, что за дополнительные два - значит здесь

1 Ответ

0 голосов
/ 10 июня 2019
"https://www.xn----ylbbafnbqebomc7ba3bp1ds.com.gr".match(/https?:\/\/w*\.xn----.*/)
=> #<MatchData "https://www.xn----ylbbafnbqebomc7ba3bp1ds.com.gr">

Обратите внимание, что URL-сопоставитель не совершенен

...