我有一个庞大的网址列表,格式为:
我可以使用什么RegEx来获取最后三个URL,但是错过前两个URL,以便给出没有附加城市的每个URL,但是城市的URL被拒绝了?
注意:我使用的是Google Analytics,因此我需要使用RegEx来监控我的网址及其高级功能。截至目前,谷歌拒绝接受每个正则表达式。
答案 0 :(得分:1)
通常,我使用正则表达式解析URL的最佳建议是不要。
它将解决所有边缘情况,完全符合RFC,无错误,安全,并且具有出色的用户界面,因此您只需抽出您真正想要的位。
在您的情况下,建议的处理方法是使用您的URL库提取元素,然后明确地处理它们。
这样一来,你最多只能独自处理这条路,而不必担心它的
http://site.com/
https://site.com/
http://site.com:80/
http://www.site.com/
除非你真的想要。
对于“Path”,您甚至可能希望使用拆分器(或专用路径解析器)来首先将路径标记为元素以确保。
答案 1 :(得分:0)
tj111的当前解决方案不起作用 - 它匹配您的所有网址。
这是一个有效的(我检查了你的价值观)。它也匹配,无论是否有斜杠:
http:\/\/.*dest\/\w+/?$
答案 2 :(得分:0)
/http:\/\/www\.site\.com\/dest\/\w+\/?$/i
匹配,如果它们与那里的“dest”都是相同的网站。你也可以这样做:
/\w+:\/\/[^/]+\/dest\/\w+\/?$/i
将匹配任何网站与任何protocal(http,ftp)以及任何带有/ dest / country的网站,以及可选的/
请注意,这只适用于网址可以合法使用的子集。
答案 3 :(得分:0)
试试这个正则表达式:
^http://www\.example\.com/dest/[^/]+/$
这只会匹配最后三个网址。