请教一个用正则匹配 URL 的问题

2015-02-12 22:20:58 +08:00
 ghy459
手上有一批网站的访问记录,一行一个URL,如:

http://www.abc.com/add/?c=1&token=aaaa
http://www.abc.com/del/?c=1&token=aaaa
http://www.abc.com/edit/?c=1&token=aaaa
http://www.abc.com/move/?c=1&token=aaaa

请问如何通过正则匹配出 包含token,且token前面不包含edit和move 的URL?
想过用 ^http.*(?<!edit|move).*token.*$ ,但貌似达不到想要的效果。
各路大牛请指点一下,thanks~
1756 次点击
所在节点    正则表达式
3 条回复
wusuopuBUPT
2015-02-12 22:44:22 +08:00
cat test.txt | grep -vE 'edit|move' | grep "&token"
spance
2015-02-12 22:58:37 +08:00
(?=token=)([^&\s]+)
正则group 1提取
zyxfsky
2015-02-12 23:16:41 +08:00
```
http:\/\/[^\/]*\/([^\/]*(?<!(edit|move)))\/\?.*token=.*
```

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/170594

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX