用于在两个斜杠之间查找所有内容的正则表达式

时间:2014-07-15 21:22:24

标签: regex url search find slash

我试图使用正则表达式来查找URL列表中两个斜杠之间的所有内容。

当我使用

/.*?/ 

使用类似

的网址
  

/博客/条/测试

...表达式会找到/ blog /,但是找不到/ article /。我猜这是因为第一个结果包括斜杠,所以第二个结果忽略它。我知道这可能是一个简单的解决方法,但我很难过。

2 个答案:

答案 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/

希望这会有所帮助。