अगर स्टेटमेंट सही है तो मैं क्वांटिफायर को रोकना चाहता हूं। कोई जानता है कैसे?

XXXXXX, 20. सितंबर 2017 XXX XXXXXXXXX XX MwSt। संख्या: CHE-XXX.XXX.XXX पीए XXXXX XXXXXX XXXXX Rechnungs Nr.321 XX XXXXX 32

XXXXXX, (?<Date>\d{2}.\s{1,}[A-z]{1,}\s{1,}\d{4})\s{1,}(?<CompanyName>.*)\n(?(?=Rechnungs Nr\.)Rechnungs Nr\.(?<BillNumber>\d{1,})|.*\n){1,}

मेरा लक्ष्य है कि:

XXXXXX, (?<Date>\d{2}.\s{1,}[A-z]{1,}\s{1,}\d{4})\s{1,}(?<CompanyName>.*)\n(?(?=Rechnungs Nr\.)Rechnungs Nr\.(?<BillNumber>\d{1,})|.*\n){2}

आप देखते हैं कि यह गतिशील नहीं है और यहाँ समस्या है। मैं इसे अधिक से अधिक बार करना चाहता हूं। कुछ मामलों में {2} पर्याप्त नहीं है। तो मैं {1,} चुनता हूं। यहाँ समस्या यह है कि निम्नलिखित पाठ मेल खाते हैं। यह मेरे लिए बुरा है। मैं उस लूप के बाद अन्य टेक्स्ट अनुक्रम के लिए अधिक लूप करना चाहता हूं। मैं केवल अंकों से मेल खाना चाहता हूं (इस उदाहरण में 321) इसके बाद if कंडीशन को रोकें।

पहले ही, आपका बहुत धन्यवाद।

आप यहां आउटपुट प्राप्त कर सकते हैं: रेगुलर एक्सप्रेशन

0
Staubi 12 पद 2017, 15:25

1 उत्तर

मुझे तेज़ और अच्छा तरीका मिला:

XXXXXX, (?<Date>\d{2}.\s+[A-z]+\s+\d{4})\s{1,}(?<CompanyName>.*)\n(?(?!Rechnungs Nr\.).*\n)Rechnungs Nr\.(?<BillNumber>\d+) 

आप यहां आउटपुट प्राप्त कर सकते हैं: रेगुलर एक्सप्रेशन

0
Staubi 12 पद 2017, 17:16