我正在努力改善正则表达式
我一直在尝试编写一个正则表达式来获取像这样的字符串
404;http://subdomain.example.com:80/some-path/gallery/name-of-the-brand/23/?id=56&somethingelse=24...
并将返回
http://subdomain.example.com/some-path/gallery/
所以我正在编写2个正则表达式,然后将它们串在一起。我确信有一种方法可以同时做到这一切,但我不知道。第一个是http //子域和域:
[http://]+([a-z]+[\.])?[a-z]+[\.][a-z]+
然后我正在尝试为/ some-path / gallery /写一个,所以我拿了第一个并添加了端口并尝试使用是一个lookbehind但我没有正确地做。
(?<=[http://]+([a-z]+[\.])?[a-z]+[\.][a-z]+?([0-9-:]+)[/]
这将在Coldfusion服务器上运行
答案 0 :(得分:1)
也许是这样的:
^(\d+[;])?((http:\/\/)([^/:]*))([:]\d+)?((\/[^/]*)(\/[^/]*)\/).*$
这个正则表达式提取(子)域和前2个文件夹都很好地分组到捕获组2和6.下面的例子: