如何在比赛后获得文本REGEX

时间:2014-02-27 20:21:16

标签: php regex

我有字符串“我的家”和正则表达式:例如$ reg =“/ hom /”。我很难找到如何在比赛结束后获得文字(直到结尾),在这种情况下我正在寻找'e'。

另一个例子:

$string = 'soulful'; $reg = '/soul/';

=>>>我需要'满满的'。 提前谢谢。

3 个答案:

答案 0 :(得分:3)

您可以使用:

$str = 'soulful';
$reg = '/soul(\w+)/';
if ( preg_match($reg, $str, $m) )
   print_r ($m);

输出

Array
(
    [0] => soulful
    [1] => ful
)

答案 1 :(得分:1)

只需更改正则表达式即可使用包含()的群组:

$string = 'soulful';
$regex = '/soul(.+)/';
preg_match($regex, $string, $matches);
var_dump($matches);

输出:

array(2) {
    [0]=> string(7) "soulful"
    [1]=> string(3) "ful"
    }

答案 2 :(得分:0)

您可以展开正则表达式以匹配原始正则表达式之后的所有文本,即:

$string = 'soulful';
$regex = '/soul(.*)/';
if ( preg_match($regex, $string, $match) ) {
 echo 'The text after soul is: '.$match[1].PHP_EOL;
}