gpt4 book ai didi

php - 在php中使用正则表达式查找字符串中单词的多次出现

转载 作者:行者123 更新时间:2023-12-02 04:33:17 25 4
gpt4 key购买 nike

我试图找到一个字符串的多次出现,还需要在匹配的单词之后找到字符串。我会解释清楚的。

首先:

$string  = "Apple = A fruit which keeps u healthy\n Ball = Used to play games  \nApple = A fsadasdasdit wasdashich keeps u healthy\n";
$keyword = "apple";
$pattern = '/^.*?\b'.$keyword.'\b.*/i';
$res = preg_match_all($pattern , $string , $matches);
print_r($matches);

在这里,我试图在字符串中找到 apple 的出现。但是,它只显示第一个单词 apple。但它没有显示第二个词。

第二: 如果我找到所有匹配关键字的单词。我需要单词后面的字符串。这意味着,在这里,Apple 匹配了两次

第一次如果关键字匹配,我会得到这个 Apple = A fruit which keeps u healthy 。现在,我需要将 A fruit which keeps u healthy 存储在一个变量中。

苹果第二次在这里匹配,我将得到 Apple = A fsadasdasdit wasdashich keeps u healthy\n 我需要存储 A fsadasdasdit wasdashich keeps u healthy另一个变量。

请帮我做这件事。提前致谢!

最佳答案

你需要这个正则表达式:

'/\bapple\W*(.*)$/mi'

并且您想要的字符串在匹配组 #1 中可用。

在线演示:http://regex101.com/r/nV2mI8

代码:

$re = '/\b' . $keyword . '\W*(.*)$/mi'; 
$str = 'Apple = A fruit which keeps u healthy
Ball = Used to play games
Apple = A fsadasdasdit wasdashich keeps u healthy';

preg_match_all($re, $str, $matches);

关于php - 在php中使用正则表达式查找字符串中单词的多次出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22559721/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com