2016-05-09 72 views
0

我是新來的正則表達式,因此無法驗證可以有數字0-9 FGHC,和fghc *#的字符串。在Java中的特定字符串的正則表達式

我與 [0-9FGHCFGHC*#]試圖與正則表達式的工具工作,但在java中它不是working.I正在使用Java 1.7

Egfor這種模式我需要它像 2314F*Ghc 12fgH#

public static void main(String[] args){ 
    String money = "23FGhc*#"; 
    Pattern p = Pattern.compile("[0-9FGHCfghc*#]",Pattern.CASE_INSENSITIVE); 
    Matcher m = p.matcher(money); 
    if (m.matches()) 
     System.out.println("valid:-"+ m); 
    else 
     System.out.println("unvalid:- "+m); 
} 

在此先感謝您的幫助,這將有助於您更好地解釋我們的注意事項,以便我可以在RegEx上獲得更多的知識

+0

您忘記了['Pattern.CASE_INSENSITIVE'](http://docs.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html#CASE_INSENSITIVE)標誌,可能還有一個量詞( '+')結尾。 –

+0

我也試過,但沒有運氣:( – vicky9988

+0

請顯示確切的相關代碼,有一堆問題像我的正則表達式不能在Java中工作,但在regex101工作,原因可能不同:1)錯過標誌,2)沒有執行匹配器,3)使用匹配而不是查找(反之亦然)。 –

回答

2
(?i)[0-9fghc*#]+ 

您還需要在末尾添加量詞。在這種情況下,+可以將這些字符匹配一次或多次。

使用還可以添加(?i)使其不區分大小寫。

+1

感謝哥們,它的作品完美。 – vicky9988

相關問題