对于具有常量结尾的URL的RegEx

时间:2017-03-10 09:20:13

标签: regex

我试图找到正确的表达式来查找以常量结尾的网址路径。

I.e' profile'一个盛世:

www.site.org/profile    => true
www.site.org/profile    => true
www.erty.org/profile/1  => true
www.site.org/xyzdddd    => false
www.ssss.org/profile    => true

这是我的入门代码(所有网址http / s):

/(http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/g

我以任何斜线错过了一个常量的控制。

1 个答案:

答案 0 :(得分:1)

您似乎希望匹配那些包含/profile/(或末尾为/profile)路径部分的字符串。您可以使用正向前瞻检查:

/^https?:\/\/(?=.*\/profile(?:\/|$))(\w+:?\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?$/
             ^^^^^^^^^^^^^^^^^^^^^^

请参阅regex demo

前瞻(?=.*\/profile(?:\/|$))表示在任何0+字符(.*)之后必须有/profile,后跟/或字符串结尾。