首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我希望regex匹配一个只能包含两个字母表字符或数字字符的模式。

我希望regex匹配一个只能包含两个字母表字符或数字字符的模式。
EN

Stack Overflow用户
提问于 2019-08-05 11:11:46
回答 1查看 70关注 0票数 1

我想要一个PHP的正则表达式,它可以匹配两个字母字符或两个数字字符。例如:

AB45

字符不能与字母和数字混合。

代码语言:javascript
复制
^(\w)\1|[A-Z|0-9]{2}$

我使用了上面的正则表达式,但是它不能正确工作。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-05 11:15:37

你可以用

代码语言:javascript
复制
preg_match('~^(?:[A-Za-z]{2}|\d{2})$~', $s, $match)

^(?:[A-Za-z]{2}|\d{2})$模式匹配两个ASCII字母或两个ASCII数字。

regex演示正则图

详细信息

  • ^ -字符串的开始
  • (?:[A-Za-z]{2}|\d{2}) -非捕获组匹配之一
    • [A-Za-z]{2} -两个ASCII字母
    • | -或
    • \d{2} -两位数

  • $ -字符串的末端。

要使它与所有Unicode字母匹配,您可以使用

代码语言:javascript
复制
preg_match('~^(?:\p{L}{2}|[0-9]{2})$~u', $s, $match)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57357402

复制
相关文章

相似问题

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