首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >匹配特定模式的Regex

匹配特定模式的Regex
EN

Stack Overflow用户
提问于 2015-07-09 10:59:12
回答 1查看 153关注 0票数 1

我在创建regex方面做得非常糟糕,而且我也在为我确信这是一个简单的愚蠢正则表达式而奋斗。

我正在使用PHP来完成这个匹配。这是我现在所拥有的。

代码语言:javascript
运行
复制
Test string: 8848842356063003
if(!preg_match('/^[0-2]|[7-9]{16}/', $token)) {
    return array('status' => 'failed', 'message' => "Invalid token", 'token' => '');
}

正则表达式必须符合以下要求:从0-2或7-9开始,并有整整16个字符。我做错了什么?因为我得到了,作为匹配:

代码语言:javascript
运行
复制
array(
  0 => 8
)

我应该得到:

代码语言:javascript
运行
复制
array(
  0 => 8848842356063003
) 

顺便提一下:我正在使用PHP Live Regex来测试正则表达式字符串。

提前谢谢你阿瑞斯·D。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-09 11:00:39

正则表达式必须符合以下要求:从0-2或7-9开始,并有16个字符。

您可以在相同的字符类中放置起始数字,并在匹配15个字符之后使用结束锚点:

代码语言:javascript
运行
复制
/^[0-27-9].{15}$/

如果只想匹配数字,请使用:

代码语言:javascript
运行
复制
/^[0-27-9]\d{15}$/
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31315430

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档