簡體   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