PHP - 仅使用RegExp,获得最后一次

时间:2017-06-24 16:17:59

标签: php regex

如何才能使用RegExp来获取字符串<{1}}

  

你好例子一个你好的例子B你好例子C你好例子D,...,heLLo ZZ ...

ZZ...的最后一次出现之后;但如果没有helloexplode()等等......?

仅使用一行RegExp

preg_split()

我无法了解如何获得目标:$string = 'hello example A hello example B hello example C hello example D, ..., heLLo ZZ...'; preg_match('/(hello).*$/is', $string, $match);print_r($match); preg_match('/(hello)$.*$/is', $string, $match);print_r($match); preg_match('/["hello"]{1}.*/is', $string, $match);print_r($match);
单词:最后ZZ...

之后的任何内容

2 个答案:

答案 0 :(得分:1)

我认为最简单的方法就是贪婪,

.*heLLo\s*(.*)$

这将搜索所有内容,直到最后heLLo(以及任意数量的空格,然后捕获剩余部分。

https://regex101.com/r/dGhMe2/1/

PHP用法:

$string = 'hello example A hello example B hello example C hello example D, ..., heLLo ZZ...';
preg_match('/.*heLLo\s*(.*)$/', $string, $match);
echo $match[1];

PHP演示:https://eval.in/821764

另一种方法:

$string = 'hello example A hello example B hello example C hello example D, ..., heLLo ZZ...';
preg_match('/.*heLLo\s*\K.*$/', $string, $match);
echo $match[0];

Regex演示2:https://regex101.com/r/dGhMe2/2/

答案 1 :(得分:-2)

\b(?!.*hello)(.*)

你可以在这里试试==&gt; https://regex101.com/r/hAE9Zq/4