首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >字符串中的正则匹配字符

字符串中的正则匹配字符
EN

Stack Overflow用户
提问于 2013-11-06 14:19:08
回答 4查看 182关注 0票数 0

因此,我正在寻找一种使用PHP函数验证字符串的方法。

第一个字符必须是字母,并且必须是JRP。第二个字符必须是一个字母。字符3-8必须是数字.

有人对我如何做到这一点有指导吗?请谢谢你。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-11-06 14:20:56

你在找/^[JRP][A-Z][0-9]{6}$/

尸检:

  • ^ -字符串必须从这里开始
  • [JRP] -字母"J“、"R”或"P“之一
  • [A-Z] - A-Z字母(大写)
  • [0-9][6} -从0到9的数字完全匹配6次(所以你总共得到8个字符)
  • $ -字符串必须在这里结束

在PHP中的使用:

代码语言:javascript
运行
复制
if (preg_match('/^[JRP][A-Z][0-9]{6}$/', $string)) {
    echo "Matches!";
}

如果要在文本中搜索,可以跳过^$

代码语言:javascript
运行
复制
if (preg_match_all('/[JRP][A-Z][0-9]{6}/', $string)) {
    echo "Matches!";
}

如果希望它也匹配小写字母,只需将a-z添加到[A-Z]匹配中,如:[a-zA-Z]

票数 4
EN

Stack Overflow用户

发布于 2013-11-06 14:20:59

这应该是简单的工作

代码语言:javascript
运行
复制
/^[JRP][A-Za-z]\d{6}$/
票数 1
EN

Stack Overflow用户

发布于 2013-11-06 14:21:26

代码语言:javascript
运行
复制
$string = 'JJ123456';

if (preg_match('/^J|R|P[a-zA-Z][0-9]{6}$/', $string))
{
    // Matched
}
else
{
    // Does not match
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19814482

复制
相关文章

相似问题

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