2011-11-20 16 views
12

सबसे पहले में, मैं दस्तावेज़ पढ़ रहा हूँ का पालनविराम चिह्न Regex जावा

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

और मुझे छोड़कर किसी भी विराम वर्ण को खोजने के लिए चाहते हैं के रूप में @ ', & लेकिन मैं काफी समझ में नहीं आता।

यहाँ है:

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

'स्ट्रिंग पैटर्न =" [पी \\ {Punct} && [^ @ ', &]]"; ' –

+0

@RC काम करना चाहिए क्या आप मुझे कुछ प्रलेखन के लिए के बारे में बात कर सकते हैं यह वाक्यविन्यास? मैंने इसे पहले कभी नहीं देखा है। – Tomalak

+0

@Tomalak प्रश्न में दिए गए लिंक को देखें। –

उत्तर

30

आप दो वर्ण, नहीं एक मिलान कर रहे हैं। एक (नकारात्मक) अग्रदर्शी का उपयोग करते हुए कार्य को हल करना चाहिए:

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

आप रॉक हैं, धन्यवाद लुसेरो :) – MRizq

संबंधित मुद्दे