php - 用于匹配字符串单词的正则表达式模式

标签 php regex string

我有一个字符串 Array() ,我不得不将它与一个单词的一部分进行比较,它必须是每个字符串中一个单词的开头!!!

举个例子会好很多:

array("hello word", "lovely child", "i am lost in paradise" ) 

我的测试词:"lo"

在运行 foreach 和 Regex 之后,我只需要:lovely child, i am lost in paradise

希望我说清楚了!我对 Regex 有一个真正的问题:/

你能帮忙吗,谢谢

最佳答案

您可以使用 array_filter结合正则表达式来实现这一点:

$array = array("hello word", "lovely child", "i am lost in paradise" );
$term = "lo";

// necessary in case $term contains characters with special meaning in a regex
$term = preg_quote($term, '/');

$results = array_filter(
             $array,
             function($el) use($term) {return preg_match('/\b'.$term.'/', $el);}
           );

正则表达式使用 word boundary anchor以确保搜索词出现在单词的开头。

关于php - 用于匹配字符串单词的正则表达式模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17192022/

相关文章:

php - 如何使 PHPunit 在警告时返回非零退出状态

php - 方法 Illuminate\Translation\Translator::getFromJson 不存在

c - 逐字符访问外语字符串

PHP 在 string2 中查找 string1,其中 string1 源自 MySQL 表

Python正则表达式问题

java - 从同一输入行读取整数和字符串(java)

c# - 如何将 "123"添加到字符串的开头并将其填充为正好 12 个字符?

php - 6300万奖品代码如何生成

php - 获取基于 URL API V3 的 youtube ID?

regex - 在每行 vi/vim/sed 等上第一次出现