2011-11-20 94 views
12

首先,我閱讀文檔如下標點符號正則表達式在Java中

http://download.oracle.com/javase/1.4.2/docs/api/java/util/regex/Pattern.html

,我想找到任何標點符號EXCEPT @」,&但我不太明白。

這裏是:

public static void main(String[] args) 
{  
    // String to be scanned to find the pattern. 
    String value = "#`~!#$%^"; 
    String pattern = "\\p{Punct}[^@',&]"; 

    // Create a Pattern object 
    Pattern r = Pattern.compile(pattern, Pattern.CASE_INSENSITIVE); 

    // Now create matcher object. 
    Matcher m = r.matcher(value); 
    if (m.find()) { 
     System.out.println("Found value: " + m.groupCount()); 
    } else { 
     System.out.println("NO MATCH"); 
    } 


} 

結果不匹配。
有什麼不匹配嗎?

感謝
MRizq

+1

'字符串模式=「[\\ p {} PUNCT && [^ @」,'&]]";應該工作 – 2011-11-20 10:35:31

+0

@RC你能指出我的一些文檔中有關 – Tomalak

+0

@Tomalak查看問題中提供的鏈接 – 2011-11-20 14:44:00

回答

30

你匹配兩個字符,而不是一個。使用(負)前瞻要解決的任務是:

(?![@',&])\\p{Punct} 
+1

你是搖滾樂隊,謝謝Lucero :) – MRizq

相關問題