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

我正在尝试解决我的导师给我的一些问题,其中一个问题是要求我检查输入字符串是否符合以下规则:

  1. 该字符串包含从 2 到 9 的数字。

  2. 该字符串包含字母 TJQKA。

  3. 如果字符串中有上述字母之外的任何其他字母,则该字符串无效。

前任:

643TJAKQ = 好的

72MAJTQ = 不好

1246AKJQ = 不正常

AKT432 = 好的

这显然是一个 Regex 问题,因为如果我尝试按列表、数组或其他东西进行过滤,那么仅验证它(并且我编写代码)就会花费太多时间。我试过这个 reg exp ( /[2-9]|(T|J|Q|K|A)/g) 但它是垃圾。


收到一只叮咚
浏览 217回答 4
4回答

ITMISS

以下正则表达式有效:^[2-9TJQKA]+$解释:^: 开始[2-9TJQKA]: 定义允许值+: 允许多于一个的字符串$: 结尾

尚方宝剑之说

您可以简单地定义允许的字符:[2-9TJQKA]+

catspeake

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

慕的地8271018

我会推荐正则表达式:\b[2-9TJQKA]+\b2-9- 只接受 2 到 9 之间的数字TJQKA- 只接受这些字符\b-只有这些字符的单词regex101也在免费格式化程序上
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java