php - 正则表达式在单词之间查找,但不返回搜索单词

标签 php regex

我正在尝试从电子邮件中获取主题

这有效:

preg_match_all('/Subject:(.*?)Date:/', $theEmail, $subjects);

但返回如下:

"Subject:This is my subject!Date:"

我只想这是我的主题!根据我读过的内容,这就是我应该得到的。我错过了什么?

最佳答案

您可以使用subjects[1][0]来访问该值

$theEmail = "Subject:This is my subject!Date:";
preg_match_all('/Subject:(.*?)Date:/', $theEmail, $subjects);

print_r($subjects[1][0]);

<强> Ideone Demo

当您使用 preg_match_all 时,$subjects 是一个包含所有可能匹配项的数组,但第一个匹配项即 $subjects[0][0 ] 始终是匹配的整个字符串,无论任何捕获组如何

关于php - 正则表达式在单词之间查找,但不返回搜索单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36631707/

相关文章:

php - 使用 High-charts、Open Flash Chart 2、Google Charts 或其他工具!

php - 将一种形状变形为另一种形状的算法。

php - 在 XML 的 post 方法中有选择地放置元素,有什么想法吗?

Javascript Regex 忽略特定捕获组的大小写

C++ 需要类型说明符(正则表达式)

php - 使用php上传文件并在mysql列中插入其路径

regex - Emacs 用增量序列替换正则表达式

c# - 用于根据模式将字符串拆分为两个集合的正则表达式

java - 获取正确的正则表达式——Java

php - 在带有 AFnetworking 的 iOS 应用程序上使用 cookie