मैं यह जानना चाहता हूं कि मेरी टेक्स्ट फ़ाइल में कोई विशेष पैटर्न मौजूद है या नहीं।स्कैनर और पैटर्न कक्षाओं का उपयोग कर टेक्स्ट में पैटर्न कैसे मिलान करें?
im इस के लिए निम्नलिखित वर्गों का उपयोग करना:
java.util.regex.Pattern and java.util.Scanner;
मेरी नमूना पाठ लाइन
String Line="DBREF 1A1F A 102 190 UNP P08046 EGR1_MOUSE 308 396";
है और मैं पैटर्न के निम्नलिखित प्रकार से मिलान करना चाहते,:,
A 102 190
जहां ए की स्थिति एजी या एजेड पर लेकिन एकल चार्टर।
102 की स्थिति में किसी भी पूर्णांक और किसी भी लंबाई की स्थिति में।
1 9 0 की स्थिति में किसी भी पूर्णांक और किसी भी लंबाई की स्थिति में।
और, पैटर्न मिलान के लिए मेरे कोड है:
Scanner sr=new Scanner(Line);
Pattern p = Pattern.compile("\\s+([a-zA-Z]){1}\\s+\\d{1,}\\s+\\d{1,}\\s+");
while(sr.hasNext(p))
{
System.out.println("Pattern exists");
System.out.println("Matched String : "+sr.next(p));
}
लेकिन, पैटर्न भी मिलान नहीं है यह वहाँ मौजूद ..
मुझे लगता है कि समस्या मेरी पैटर्न तार के साथ है:
\\s+([a-zA-Z]){1}\\s+\\d{1,}\\s+\\d{1,}\\s+"
कोई भी, कृपया मुझे किस पैटर्न स्ट्रिंग का उपयोग करना चाहिए ????
अभी भी काम नहीं .. मुझे लगता है कि समस्या pattern.compile तर्क के साथ –
वे मेरे लिए ठीक काम किया है। शायद थोड़ा वर्बोज़, लेकिन उन्हें काम करना चाहिए। ऊपर दिखाए गए एक छोटे संकलित परीक्षण कार्यक्रम का प्रयास करें। –
क्या आपने इस लाइन के साथ प्रयास किया है: - डीबीआरईएफ 1 ए 1 एफ ए 102 1 9 0 यूएनपी पी 08046 ईजीआर 1_MOUSE 308 396 –