[英]Regex to match a string if it matches only one group in Java
我想知道,只有在測試字符串僅屬於其中一個測試組的情況下,才有正則表達式可以幫助匹配文本嗎?
假設我有這兩類:
第1組: [a-zA-Z]
第2組: [0-9]
因此,是否存在適用的正則表達式,以僅匹配以下字符串: abc
或僅此以下字符串: 123
。
但是,如果有一個字符串表示兩個組的組合,則這將不匹配任何內容 ,例如ig: 123abc2b
嗎?
PS:我正在使用Java。
交替是解決問題的關鍵。 使用模式^(?:\\d*|[a-zA-Z]*)$
說明:
^
-字符串的開頭
(?:...)
-非限制組
\\d*
-匹配零個或多個數字
|
-交替
[a-zA-Z]*
-匹配零個或多個字母(小寫或大寫)
$
-匹配字符串的結尾
根據您的描述,我認為您只需要|
,在正則表達式中表示“或”。 匹配[a-zA-Z]
或 [0-9]
,但不能兩者都匹配。
例如
^(?:[a-zA-Z]+|[0-9]+)$
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.