【问题标题】:Regex to validate a url using a wildcard?正则表达式使用通配符验证 url?
【发布时间】:2013-06-21 13:46:22
【问题描述】:

假设我有一个有效的域根列表,

example.com

test.com

还有一个变量

String url

如何使用正则表达式来验证我的变量 url 是否在列表中,包括子域?

例如,也许我的网址是"subdomain.case.example.com"

也就是说清楚:

我将如何使用正则表达式来验证我的网址是 *.example.com*.test.comexample.comtest.com

【问题讨论】:

    标签: regex url language-agnostic


    【解决方案1】:

    这样的?

    ^((\*|[\w\d]+(-[\w\d]+)*)\.)*(example|test)(\.com)$
    

    Edit live on Debuggex

    允许诸如... subdomain.*.example.com、subdomain.example.com、example.com、*.example.com 等。

    【讨论】:

    • 我想是的,如果这符合我的要求,我会告诉你的!我只想说这个调试工具非常棒,我以前从未见过。
    • 我在[\w\d-]...更新后错过了+...更新后的帖子...也使部分无法以破折号开始或结束
    • 如果你有一个快速的问题,如果我在 java 中这样做,我必须转义每个 \ 吗?
    • 是的,你必须在 java 中这样做。另外,如果你去这个网站regexplanet.com/advanced/java/index.html并输入正则表达式并点击测试,它将转换为java正则表达式
    【解决方案2】:

    使用$ 标记字符串的结尾。

    你的正则表达式是

    .*(example|test)[.]com$
    

    【讨论】:

    • 这也匹配notanexample.com。匹配文字 . 字符的标准方法是使用像 \. 这样的反斜杠。
    猜你喜欢
    • 2016-03-10
    • 2021-08-18
    • 2021-02-24
    • 1970-01-01
    • 2012-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多