ruby-on-rails - 正则表达式无法匹配 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--。所以任何人都可以建议额外的两个 - 在这里意味着什么
解决方案
"https://www.xn----ylbbafnbqebomc7ba3bp1ds.com.gr".match(/https?:\/\/w*\.xn----.*/)
=> #<MatchData "https://www.xn----ylbbafnbqebomc7ba3bp1ds.com.gr">
注意 url 匹配器并不完美
推荐阅读
- git - 使用 git 推拉我的 conda 环境
- c++ - 有没有办法从同一个类中的仿函数调用类方法?
- mysql - 我们如何知道mysql复制中master后面的语句
- google-analytics - 谷歌分析数据集从头开始
- java - 带有多个错误消息的 Spring 休眠类型验证
- dialogflow-es - 使用 AWS Lex 和 Dialogflow 构建具有不同 webhook 的类似机器人
- laravel - 使用 Laravel 和 Swagger / OpenAPI 的工作流程
- javascript - 猫鼬动态条件推送返回为 [object]
- python - 在 Python 中创建一个矩阵来存储字符串字符的最右边的索引
- c# - 添加 Authorize 属性时 Web api 核心返回 404