You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用preg_match正则匹配字符串中最后一个by后的作者内容

正则实现方案

核心思路

利用正则的贪婪匹配特性,自动定位到最后一个by (by加空格)的位置,直接提取后续符合规则的作者内容:

  • .* 贪婪匹配所有字符,直到最后一个by 出现的位置
  • \w 原生匹配字母、数字、下划线,正好符合作者的字符限制要求
  • 末尾锚定$确保匹配的是字符串末尾的作者内容

正则表达式

最终使用的正则为:/.*by\s(\w*)$/

完整实现代码

<?php
$books = ['Big Blue Book by Steven', 'Dance by her by Mike', 'One day by by by', 'Hiphop Party by DJ340_Cool', ' by Paul12', 'by jasonB'];

foreach ($books as $book) {
    preg_match('/.*by\s(\w*)$/', $book, $matches);
    // 兼容极端空情况,无匹配时输出空
    $author = $matches[1] ?? '';
    echo $author . PHP_EOL;
}

输出结果

运行上述代码得到的输出和预期结果完全一致:

Steven
Mike
by
DJ340_Cool
Paul12
jasonB

内容的提问来源于stack exchange,提问作者Zoey Malkov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 16:48:03