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

如何编写仅在字符串包含特定字符和数字时才激活的正则表达式?

如何编写仅在字符串包含特定字符和数字时才激活的正则表达式?

收到一只叮咚 2023-03-23 13:42:59
我正在尝试解决我的导师给我的一些问题,其中一个问题是要求我检查输入字符串是否符合以下规则:该字符串包含从 2 到 9 的数字。该字符串包含字母 TJQKA。如果字符串中有上述字母之外的任何其他字母,则该字符串无效。前任:643TJAKQ = 好的72MAJTQ = 不好1246AKJQ = 不正常AKT432 = 好的这显然是一个 Regex 问题,因为如果我尝试按列表、数组或其他东西进行过滤,那么仅验证它(并且我编写代码)就会花费太多时间。我试过这个 reg exp ( /[2-9]|(T|J|Q|K|A)/g) 但它是垃圾。
查看完整描述

4 回答

?
ITMISS

TA贡献1871条经验 获得超8个赞

以下正则表达式有效:^[2-9TJQKA]+$

解释:

^: 开始

[2-9TJQKA]: 定义允许值

+: 允许多于一个的字符串

$: 结尾


查看完整回答
反对 回复 2023-03-23
?
尚方宝剑之说

TA贡献1788条经验 获得超4个赞

您可以简单地定义允许的字符:

[2-9TJQKA]+


查看完整回答
反对 回复 2023-03-23
?
catspeake

TA贡献1111条经验 获得超0个赞

Boolean okayOrNot = someString.matches("[2-9TJQKA]+");



查看完整回答
反对 回复 2023-03-23
?
慕的地8271018

TA贡献1796条经验 获得超4个赞

我会推荐正则表达式:\b[2-9TJQKA]+\b

2-9- 只接受 2 到 9 之间的数字

TJQKA- 只接受这些字符

\b-只有这些字符的单词

regex101也在免费格式化程序上


查看完整回答
反对 回复 2023-03-23
  • 4 回答
  • 0 关注
  • 138 浏览

添加回答

举报

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