什么是正确的正则表达式来匹配字符串末尾的确切单词,并排除所有其他在结尾有更多字符的网址?

时间:2017-05-31 17:31:39

标签: regex

我必须匹配网址末尾的确切字符串,但不匹配该字符串后面包含更多字符的所有其他网址

我可以用例子更好地解释。

我需要匹配字符串' white'在它的结尾:http // mysite.com / white

但我也不需要将有一个或多个字符推迟的网址匹配,例如http // mysite.com / white__blue或http // mysite.com / white / yellow或http // mysite.com / white /

怎么做?

由于

2 个答案:

答案 0 :(得分:1)

正则表达式匹配任何网址*

^(https?:\/\/)?([\da-z\.-]+\.[a-z\.]{2,6}|[\d\.]+)([\/:?=&#]{1}[\da-z\.-]+)*[\/\?]?$

正则表达式匹配最后包含白色的网址

^(https?:\/\/)?([\da-z\.-]+\.[a-z\.]{2,6}|[\d\.]+)([\/:?=&#]{1}[\da-z\.-]+)*[\/\?]?white$

您可以查看正则表达式here

  • 来自regexr.com 它与网址(无论如何无效)匹配,如

    • httpabrakadabra.co//

    • http:google.com

    • http://no-tld-here-folks.a

    • http://potato.54.211.192.240/

答案 1 :(得分:0)

根据您有限的样本输入,我会说您可以摆脱这种非常小的模式:

^http[^\s]+white$

但是,根据您真正想要实现的目标,实现此模式的语言/功能,以及完整输入字符串的外观,可能需要优化此模式。

最好是改进您的问题以包含所有上述相关信息。