簡體   English   中英

正則表達式匹配字符串,如果它只匹配Java中的一個組

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM