Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 用于查找两个斜杠之间的所有内容的正则表达式_Regex_Url_Search_Find_Slash - Fatal编程技术网

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

Regex 用于查找两个斜杠之间的所有内容的正则表达式,regex,url,search,find,slash,Regex,Url,Search,Find,Slash,我尝试使用正则表达式来查找URL列表中位于两个斜杠之间的所有内容 当我使用 /.*?/ 像这样的URL /博客/文章/测试 …表达式将找到/blog/,但不会找到/article/。我猜这是因为第一个结果包含了斜杠,所以第二个忽略了它。我知道这可能是一个简单的解决方案,但我很困惑。请参阅查找断言 试试这个: (?<=\/)(.*?)(?=\/) 您可以通过在正则表达式中避免“?”来实现所需的结果 我的尝试显示了这些结果 > echo /blog/article/test |

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

当我使用

/.*?/ 
像这样的URL

/博客/文章/测试

…表达式将找到/blog/,但不会找到/article/。我猜这是因为第一个结果包含了斜杠,所以第二个忽略了它。我知道这可能是一个简单的解决方案,但我很困惑。

请参阅查找断言

试试这个:

(?<=\/)(.*?)(?=\/)  

您可以通过在正则表达式中避免“?”来实现所需的结果

我的尝试显示了这些结果

> echo /blog/article/test | sed -e 's;\(/.*?\);\1;'
 /blog/article/test
> echo /blog/article/test | sed -e 's;\(/.*/\).*;\1;'
 /blog/article/

希望这有帮助

您使用的是什么语言/工具,您希望得到/blog/article/as匹配吗?我刚刚使用了Notepad++的grep功能。我想获得/blog/和/article/作为结果。
> echo /blog/article/test | sed -e 's;\(/.*?\);\1;'
 /blog/article/test
> echo /blog/article/test | sed -e 's;\(/.*/\).*;\1;'
 /blog/article/