我试图找到正确的表达式来查找以常量结尾的网址路径。
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
我以任何斜线错过了一个常量的控制。
答案 0 :(得分:1)
您似乎希望匹配那些包含/profile/
(或末尾为/profile
)路径部分的字符串。您可以使用正向前瞻检查:
/^https?:\/\/(?=.*\/profile(?:\/|$))(\w+:?\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?$/
^^^^^^^^^^^^^^^^^^^^^^
请参阅regex demo。
前瞻(?=.*\/profile(?:\/|$))
表示在任何0+字符(.*
)之后必须有/profile
,后跟/
或字符串结尾。