php - 匹配变量中的第一个和最后一个完整单词

标签 php regex preg-match

我使用 php preg_match将变量中的第一个和最后一个单词与给定的第一个和最后一个特定单词匹配,

例子:

$first_word = 't'; // I want to force 'this'
$last_word = 'ne'; // I want to force 'done'
$str = 'this function can be done';

if(preg_match('/^' . $first_word . '(.*)' . $last_word .'$/' , $str))
{
     echo 'true';
}

但问题是我想在(开始和结束)处强制匹配整个单词,而不是第一个或最后一个字符。

最佳答案

在搜索中使用 \b 作为边界 word 限制:

$first_word = 't'; // I want to force 'this'
$last_word = 'ne'; // I want to force 'done'
$str = 'this function can be done';
if(preg_match('/^' . $first_word . '\b(.*)\b' . $last_word .'$/' , $str))
{
     echo 'true';
}

关于php - 匹配变量中的第一个和最后一个完整单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11490182/

相关文章:

PHP从字符串中提取数字 block 时如何避免混合字母数字

mysql - 使用正则表达式仅获取数字

PHP preg_match - 只允许字母数字字符串和 - _ 字符

php - WordPress 中的 preg_match 未知修饰符 '.'

javascript - 带 'www' 或不带 'www' 的域的正则表达式

php - 使用 PHP 创建登录页面

php - 设置 CURLOPT_USERPWD 时用户名问题或冒号传递

php - 如何获取页面模板名称?例如模板名称 : template name

PHP pconnect 和连接测试失败

javascript - 正则表达式无法验证 28 到 31 之间的日期