繁体   English   中英

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

[英]How can I write a regular expression that is only activated if the string contains certain characters and numbers?

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

  1. 该字符串包含2到9之间的数字。
  2. 该字符串包含字母TJQKA。
  3. 如果字符串中提到的字母之外还有其他字母,则该字符串无效。

例如:

643TJAKQ =好

72MAJTQ =不好

1246AKJQ =不好

AKT432 =好

显然这是一个正则表达式问题,因为如果我尝试按列表,数组或其他内容进行过滤,那么仅通过验证(并编写代码)就会花费太多时间。 我尝试使用此reg exp( /[2-9]|(T|J|Q|K|A)/g )但很垃圾。

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

说明:

^ :开始

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

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

$ :结束

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

[2-9TJQKA]+

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

我建议使用正则表达式: \\b[2-9TJQKA]+\\b

2-9 2和9之间-accept只有数字

TJQKA -Accept只有这些字符

\\b仅包含这些字符的单词

regex101也在免费格式化程序上

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM