如何才能使用RegExp来获取字符串<{1}}
你好例子一个你好的例子B你好例子C你好例子D,...,heLLo ZZ ...
在ZZ...
的最后一次出现之后;但如果没有hello
,explode()
等等......?
仅使用一行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...
答案 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