首页 > 解决方案 > 正则表达式捕获文本字符串中以 25 开头的 14 位数字

问题描述

我创建了一个正则表达式,它只捕获 14 位长并以 25 开头的数字,它可以正常工作。

if (preg_match('/(?=\d{14}$)(25)\d+/', $valid_id)){
    $return_value = 1;
}

如果我在数字之前输入一些东西,它就可以正常工作。但是,只要我在数字之后写一些东西(空格、字母、数字),正则表达式就会停止工作并且不再捕获它。

例如:

$valid_id = "the id is 25000000000000";

它抓住了数字,但如果我写

$valid_id = "the id is 25000000000000 and it is valid";

然后它没有。

我想我在正则表达式的末尾遗漏了一些东西,但无法弄清楚。

标签: regexpreg-match

解决方案


推荐阅读