Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.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
php正则表达式_Php_Regex - Fatal编程技术网

php正则表达式

php正则表达式,php,regex,Php,Regex,我不能用捕捉妄想狂来捕捉我想要的。。。 我正在/hodsakers/marsh zwartArray/d中搜索,我想捕获marsh zwartArray,但有时最后一个/不在我搜索的内容中。 我搜索并尝试了很多东西,比如: (marshall[\s\S]*)\/ 它可以工作,但如果最后一个反斜杠不存在,它就不能工作。 我也尝试 (marsh[\s\S]*)(\/)? 在本例中,情况正好相反,它在没有最后一个反斜杠的情况下工作,但如果有一个反斜杠,它将获得所有字符串,而不捕获任何内容=/ 所以

我不能用捕捉妄想狂来捕捉我想要的。。。 我正在/hodsakers/marsh zwartArray/d中搜索,我想捕获marsh zwartArray,但有时最后一个/不在我搜索的内容中。 我搜索并尝试了很多东西,比如:

(marshall[\s\S]*)\/
它可以工作,但如果最后一个反斜杠不存在,它就不能工作。 我也尝试

(marsh[\s\S]*)(\/)?
在本例中,情况正好相反,它在没有最后一个反斜杠的情况下工作,但如果有一个反斜杠,它将获得所有字符串,而不捕获任何内容=/ 所以我不知道如何在这两种情况下都能捕捉到=/
感谢您的帮助

您可以使用
[^\/]*
否定字符类来匹配0+字符,而不是
/

/marsh[^\/]*/

查看

也许,只需
/marsh[^\/]*/
就足够了。是否要匹配所有出现的“marsh*”?例如,对于下面的情况,如果您在上面的示例/hodsakers/marsh zwartArray/whatevermarsh中进行了两次匹配非常感谢,这是否定字符,问题解决了