首页 > 解决方案 > 正则表达式无法匹配 punycode url

问题描述

我有转换为 punycode 的 url 后缀为 xn---- ruby​​ 库中存在的所有正则表达式都无法匹配。目前我正在使用 validates_url_format_of ruby​​ 库。示例网址:“ https://www.θεραπευτικη-κανναβη.com.gr ” Punycode 网址:“ https://www.xn----ylbbafnbqebomc7ba3bp1ds.com.gr

那么您能否建议库中的正则表达式是否存在任何问题,或者问题在于转换为 punycode。

根据 punycode 转换规则,后缀始终是 xn--。所以任何人都可以建议额外的两个 - 在这里意味着什么

标签: ruby-on-railsregexpunycode

解决方案


"https://www.xn----ylbbafnbqebomc7ba3bp1ds.com.gr".match(/https?:\/\/w*\.xn----.*/)
=> #<MatchData "https://www.xn----ylbbafnbqebomc7ba3bp1ds.com.gr">

注意 url 匹配器并不完美


推荐阅读