Php 在文本文件中查找特定单词
我想我有一个包含以下内容的文本文件:Php 在文本文件中查找特定单词,php,regex,Php,Regex,我想我有一个包含以下内容的文本文件: Hello my name is Jack Jordon. What is your name? Let there be a party. Is your name Jack Marais, I didn't think so Jack van Riebeeck. Good day Jack. 如何使用PHP查找所有“Jack”单词及其后的单词 因此,结果将是 Jack Jordon Jack Marais Jack van Jack 是否可以使用正则
Hello my name is Jack Jordon. What is your name? Let there be a party. Is your name Jack Marais, I didn't think so Jack van Riebeeck. Good day Jack.
如何使用PHP查找所有“Jack”单词及其后的单词
因此,结果将是
Jack Jordon
Jack Marais
Jack van
Jack
是否可以使用正则表达式执行此操作,或者是否有更好的方法?您可以在
preg\u match\u all
中使用此正则表达式:
'/\bJack\s+(?:\s+\w+|$)/'
此正则表达式只能在
Jack
或行尾后找到一个单词。您可以在preg\u match\u all
中使用此正则表达式:
'/\bJack\s+(?:\s+\w+|$)/'
此正则表达式将只在杰克
或行尾后找到一个单词。只需尝试使用:
$input = 'Hello my name is Jack Jordon. What is your name? Let there be a party. Is your name Jack Marais, I didn\'t think so Jack van Riebeeck. Good day Jack.';
$search = 'Jack';
preg_match_all('/(' . $search . '[a-z ]*[A-Z][a-z]+)/', $input, $matches);
$output = $matches[0];
var_dump($output);
试一下:
$input = 'Hello my name is Jack Jordon. What is your name? Let there be a party. Is your name Jack Marais, I didn\'t think so Jack van Riebeeck. Good day Jack.';
$search = 'Jack';
preg_match_all('/(' . $search . '[a-z ]*[A-Z][a-z]+)/', $input, $matches);
$output = $matches[0];
var_dump($output);
试试这个:
$yourSentend = "Hello my name is Jack Jordon. What is your name? Let there be a party. Is your name Jack Marais, I didn't think so Jack van Riebeeck. Good day Jack.";
$words = explode(' ', $yourSentence);
for ($i = 0, $m = count($words); $i < $m; $i++) {
if ($words[$i] == 'Jack') {
echo $words[$i].' '.$words[$i+1];
}
}
$yourSentend=“你好,我叫杰克·乔登。你叫什么名字?开个派对吧。你叫杰克·马雷,我不这么认为。杰克·范·里比克。你好,杰克。”;
$words=爆炸(“”,$your句子);
对于($i=0,$m=count($words);$i<$m;$i++){
如果($words[$i]=='Jack'){
回显$words[$i].'.$words[$i+1];
}
}
这将回显每个插孔+下一个单词。尝试以下操作:
$yourSentend = "Hello my name is Jack Jordon. What is your name? Let there be a party. Is your name Jack Marais, I didn't think so Jack van Riebeeck. Good day Jack.";
$words = explode(' ', $yourSentence);
for ($i = 0, $m = count($words); $i < $m; $i++) {
if ($words[$i] == 'Jack') {
echo $words[$i].' '.$words[$i+1];
}
}
$yourSentend=“你好,我叫杰克·乔登。你叫什么名字?开个派对吧。你叫杰克·马雷,我不这么认为。杰克·范·里比克。你好,杰克。”;
$words=爆炸(“”,$your句子);
对于($i=0,$m=count($words);$i<$m;$i++){
如果($words[$i]=='Jack'){
回显$words[$i].'.$words[$i+1];
}
}
这将回显每个插孔+下一个单词。您可以使用:
preg_match_all('~\bJack(?>\s+[a-z]+)?~i', $input, $matches);
print_r($matches[0]);
您可以使用以下选项:
preg_match_all('~\bJack(?>\s+[a-z]+)?~i', $input, $matches);
print_r($matches[0]);
van Riebeeck
是两个词。首先,你应该考虑你接受的名称,并指定你是否知道你要搜索的名称。例如,如果你有一个“Jack Van der Buren et Grumpli”或“Candle Jack”的表达,你也需要这些名字吗?使用正则表达式可以做很多事情,但首先你应该用两个词概括这些要求van Riebeeck
。首先你应该考虑你接受的名称,并指定你是否知道你要搜索的名称。例如,如果你有一个“Jack Van der Buren et Grumpli”或“Candle Jack”的表达,你也需要这些名字吗?使用正则表达式可以做很多事情,但首先您应该概述这些要求$string=“你好,杰克,我是我”
,在您爆炸后,您将无法匹配此杰克,因为它是杰克,
它将无法获得杰克。-但是如何使用文本文件呢?只需阅读文件的内容,然后将其放入$Your句子中。你可以太干净而不能移除“,”等。$string=“你好,杰克,我是我”
,爆炸后,你将无法匹配此杰克
,因为它是杰克,
它不会得到杰克。-但是如何使用文本文件呢?只需阅读文件的内容,然后将其放入$Your句子中。您可以太干净而无法删除“,”等。这很有效。我已经测试过了,效果很好。我已经测试过了