我试图使用正则表达式来查找URL列表中两个斜杠之间的所有内容。
当我使用
时/.*?/
使用类似
的网址/博客/条/测试
...表达式会找到/ blog /,但是找不到/ article /。我猜这是因为第一个结果包括斜杠,所以第二个结果忽略它。我知道这可能是一个简单的解决方法,但我很难过。
答案 0 :(得分:0)
lookaround assertions
查看(?<=\/)(.*?)(?=\/)
。
试试这个:
global
除了过去阻止字符消费之外,您还需要使用regexp
标记,以便/(your regex)/g
不仅仅停留在在输入字符串中匹配。
{{1}}
答案 1 :(得分:0)
你可以通过避免'?'来达到你想要的结果在你的正则表达式。
我的尝试显示了这些结果
> echo /blog/article/test | sed -e 's;\(/.*?\);\1;'
/blog/article/test
> echo /blog/article/test | sed -e 's;\(/.*/\).*;\1;'
/blog/article/
希望这会有所帮助。