Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/270.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/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,我有一根这样的绳子 [system]a[/system][system]b[/system][system]c[/system] 我想返回[system]和[/system]标记之间的值 对于这个例子,它应该返回a,b,c。使用php中的preg_match_all函数 我试图使用这种模式\[system\].\[\/system\],但它返回a[/system][system]b[/system][system]c 它只需要第一个开始标记,最后一个结束标记 我怎样才能做到这一点?使你的量词不贪

我有一根这样的绳子

[system]a[/system][system]b[/system][system]c[/system]

我想返回[system]和[/system]标记之间的值

对于这个例子,它应该返回a,b,c。使用php中的preg_match_all函数

我试图使用这种模式\[system\].\[\/system\],但它返回a[/system][system]b[/system][system]c

它只需要第一个开始标记,最后一个结束标记


我怎样才能做到这一点?

使你的量词不贪婪。添加一个?像这样:

(.*?)

这将指示正则表达式尽可能少地匹配,而不是贪婪地尽可能多地匹配。

添加一个?i、 e改变。*到非贪婪。*?@degant谢谢,成功了。你应该把这个贴在答案部分。