从电子邮件主题中提取 id 的正则表达式

Regular expression to extract id from email subject

我需要从 PHP 中的以下电子邮件主题中提取 ID。

主题:

New tour subscription [ALKJ-102] [ID:12345]

最后的结果应该是12345

使用 /(?<=\[ID:)\d+/ 模式匹配 [ID: 字符串之后的数字。

$subject = "New tour subscription [ALKJ-102] [ID:12345]";
preg_match("/(?<=\[ID:)\d+/", $subject, $mat);
echo $mat[0];

检查结果 demo

您可以使用此页面来解决。

我的解决方案是:

([\w]*([:])(?<Value>[\w]*))

我为您创建了这个记录示例。

在这个例子中,您可以直接获取命名组的值并在代码中使用。

$test="[ALKJ-102] [ID:12345]";

preg_match('/([\w]*([:])(?<Value>[\w]*))/',$test,$matches);

var_dump($matches['Value']);

http://rubular.com/r/uvHvHjZR8R