【发布时间】:2018-11-15 15:37:02
【问题描述】:
我正在尝试匹配带有或不带有查询参数的无扩展名 url。
到目前为止,.+\/[^.\/]*$ 匹配其中一些,但是当查询参数中存在. 时它会失败
例如我想要的是
http://www.example.com/ -> MATCH
http://www.example.com/abc -> MATCH
http://www.example.com/abc/def/ -> MATCH
http://www.example.com/abc/def.ext/ -> MATCH
http://www.example.com/abc?param=abc.def -> MATCH
http://www.anything.com/abc/def.ext/?param=abc.ext -> MATCH
http://www.example.com/abc.ext -> DONT MATCH
http://www.example.com/abc/def.ext -> DONT MATCH
http://www.anything.com/abc/def.ext?param=abc -> DONT MATCH
http://www.anything.com/abc/def.ext?param=abc.def -> DONT MATCH
当. 或/ 出现在查询参数键或值中时,How to match only extensionless URLs? 中提供的答案将失败。我尝试了许多模式,但无法获得理想的结果。
我是正则表达式的菜鸟。请帮忙。
【问题讨论】:
-
您使用什么语言/工具?你试过什么?什么没用?你得到了什么?你期待什么?
-
@Toto,就我而言,我正在尝试使用 js。 are not 正则表达式对于大多数语言来说都是通用的,例如js,java,php。?
-
我的表达式很少是 .+\/[^.\/]*$, .+\/[^.\/]*\?.*$, .+\/[^. \/]*(|\?.*)$, .+\/[^.\/]*(|\?.*[^.]*)$
-
@Toto 你分享的 stackoverflow 链接上写的相同.. 这些语言共享相同的语法。
标签: regex