为了账号安全,请及时绑定邮箱和手机立即绑定

我希望正则表达式匹配只能有两个字母字符或数字字符的模式

我希望正则表达式匹配只能有两个字母字符或数字字符的模式

PHP
qq_遁去的一_1 2021-11-13 17:17:04
我想要一个可以匹配两个字母字符或两个数字字符的 PHP 正则表达式。例如:AB或45字符不能与字母和数字混合。^(\w)\1|[A-Z|0-9]{2}$我使用了上面的正则表达式,但它不能正常工作。
查看完整描述

1 回答

?
米琪卡哇伊

TA贡献1998条经验 获得超6个赞

您可以使用

preg_match('~^(?:[A-Za-z]{2}|\d{2})$~', $s, $match)

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

请参阅正则表达式演示正则表达式图

//img1.sycdn.imooc.com//618f82ab0001933b03510221.jpg

细节

  • ^ - 字符串的开始

  • (?:[A-Za-z]{2}|\d{2}) - 一个非捕获组匹配

    • [A-Za-z]{2} - 两个 ASCII 字母

    • | - 或者

    • \d{2} - 两位数

  • $ - 字符串的结尾。

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

preg_match('~^(?:\p{L}{2}|[0-9]{2})$~u', $s, $match)


查看完整回答
反对 回复 2021-11-13
  • 1 回答
  • 0 关注
  • 481 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信