python - क्या रेगेक्स में "\ d" एक अंक है?




regex encoding (4)

मैंने पाया कि 123 , \d 1 मैचों 1 और 3 लेकिन 2 नहीं। मैं सोच रहा था कि \d एक अंक से मेल खाता है जो किस तरह की आवश्यकता को संतुष्ट करता है? मैं पाइथन शैली regex के बारे में बात कर रहा हूँ।

जीएडिट में नियमित अभिव्यक्ति प्लगइन पाइथन शैली regex का उपयोग कर रहा है। मैंने अपनी सामग्री के साथ एक टेक्स्ट फ़ाइल बनाई है

123

केवल 1 और 3 regex \d मेल खाते हैं; 2 नहीं है।

आम तौर पर अंकों के अंकों के अनुक्रम के लिए अन्य वर्णों के बिना, केवल विषम क्रम अंक मेल होते हैं, और यहां तक ​​कि ऑर्डर अंक भी नहीं होते हैं। उदाहरण के लिए 12345 , मैच 1 , 3 और 5


पायथन-शैली regex में, \d किसी भी व्यक्तिगत अंक से मेल खाता है। यदि आप ऐसा कुछ नहीं देख रहे हैं जो ऐसा नहीं लगता है, तो कृपया उस पूर्ण रेगेक्स को प्रदान करें जिसका आप उपयोग कर रहे हैं, केवल एक विशेष प्रतीक का वर्णन करने के विरोध में।

>>> import re
>>> re.match(r'\d', '3')
<_sre.SRE_Match object at 0x02155B80>
>>> re.match(r'\d', '2')
<_sre.SRE_Match object at 0x02155BB8>
>>> re.match(r'\d', '1')
<_sre.SRE_Match object at 0x02155B80>

यह सिर्फ एक अनुमान है, लेकिन मुझे लगता है कि आपका संपादक वास्तव में प्रत्येक अंक से मेल खाता है - 1 2 3 - लेकिन केवल अजीब मैचों को हाइलाइट किया जाता है, ताकि पूरे 123 स्ट्रिंग का मिलान होने पर इसे अलग कर दिया जा सके।

अधिकांश रेगेक्स कंसोल अलग-अलग रंगों के साथ संगत मैचों को हाइलाइट करते हैं, लेकिन प्लगइन सेटिंग्स, टर्मिनल सीमाओं या किसी अन्य कारण के कारण, आपके मामले में केवल हर दूसरे समूह को हाइलाइट किया जा सकता है।


\\d{3} जावा में तीन अंकों के किसी अनुक्रम से मेल खाता है।


\d पाइथन सहित अधिकांश रेगेक्स व्याकरण शैलियों में किसी एक अंक से मेल खाता है। रेगेक्स संदर्भ





gedit