2012-02-21 9 views
5

.NET Regex कक्षा के लिए प्रलेखित ऑपरेटर प्राथमिकता का क्रम कहां है?.NET Regex क्लास के लिए प्रलेखित ऑपरेटर प्राथमिकता कहां है?

मुझे this दिखाई देता है, लेकिन यह जेस्क्रिप्ट के लिए है।

इसके अलावा, ऐसा लगता है कि यह RegexOptions.ECMAScript से प्रभावित नहीं है, लेकिन पुष्टि उपयोगी होगी।

+0

क्या अभिव्यक्ति को देखना संभव है जो आपको भ्रमित करता है? – zerkms

+1

प्राथमिकता जेस्क्रिप्ट लिंक में वही है: यूनरी ऑपरेटर कसकर बांधते हैं, फिर संयम, फिर विकल्प। जैसा कि आप उम्मीद करेंगे उतने ब्रैकेट काम करते हैं। – porges

+0

@zerkms, मैं अभिव्यक्ति लिख रहा हूं, और मैं जानना चाहता हूं कि मुझे माता-पिता की आवश्यकता है। पोर्गेस, मैं यही उम्मीद कर रहा हूं, लेकिन मैं इसे दस्तावेज देखना चाहता हूं। यदि ऐसा नहीं है, तो मैं एक कनेक्ट बग फाइल करूंगा। –

उत्तर

1

मुझे नहीं लगता कि वास्तविक उत्तर उतना आसान है जितना आप चाहें। संक्षिप्त (और अधूरा) उत्तर बस "सभी अभिव्यक्तियों का मूल्यांकन बाएं से दाएं है" ...

लंबे उत्तर के लिए यहां जाएं।

http://msdn.microsoft.com/en-us/library/e347654k.aspx

.नेट फ्रेमवर्क नियमित अभिव्यक्ति इंजन एक उलटे पांव लौटने से नियमित अभिव्यक्ति मिलान कि एक पारंपरिक nondeterministic परिमित Automaton (NFA) इंजन को शामिल किया गया है ... पारंपरिक NFA इंजन प्रदर्शन पैटर्न मिलान, उनके प्रसंस्करण आदेश नियमित अभिव्यक्ति पैटर्न द्वारा संचालित होता है। चूंकि यह किसी विशेष भाषा तत्व को संसाधित करता है, इंजन लालची मिलान का उपयोग करता है; यानी, यह इनपुट स्ट्रिंग जितना संभव हो उतना मेल खाता है। लेकिन सफलतापूर्वक एक उप-संपीड़न से मेल खाने के बाद भी इसकी स्थिति बचाता है। यदि एक मैच अंततः विफल रहता है, इंजन एक सहेजे गए राज्य पर वापस आ सकता है, तो यह अतिरिक्त मैचों का प्रयास कर सकता है।

संपादित करें: अपने प्रश्न के दूसरे भाग का उत्तर देने के लिए भूल गए।

http://msdn.microsoft.com/en-us/library/yd1hzczs.aspx

ECMAScript और विहित नियमित अभिव्यक्ति के व्यवहार तीन में क्षेत्रों भिन्न होता है::

RegexOptions.ECMAScript के संबंध में, आप इन दस्तावेज़ों को संदर्भित कर सकते हैं चरित्र वर्ग वाक्यविन्यास, स्वयं संदर्भित कैप्चरिंग समूह, और ऑक्टल बनाम बैकरेफरेंस व्याख्या।

ऐसा लगता है कि "ऑर्डर" प्रभावित नहीं है, लेकिन अन्य समस्याएं हो सकती हैं। दस्तावेज़ मतभेदों को चित्रित करने का एक अच्छा काम करते हैं।

+1

प्रसंस्करण आदेश ऑपरेटर प्राथमिकता आदेश से अलग है। प्रोसेसिंग ऑर्डर बताता है कि इसे पार्स किए जाने के बाद कैसे निष्पादित किया जाता है (प्रत्येक इनपुट पर)। ऑपरेटर प्राथमिकता इसका मुख्य हिस्सा है कि इसका विश्लेषण कैसे किया जाता है। मैं मानता हूं कि "सभी अभिव्यक्तियों का मूल्यांकन बाएं से दाएं" किया जाता है, यह एक पूर्ण उत्तर नहीं है। यदि यह था, तो '^ \ d' स्ट्रिंग (^ \\) की शुरुआत में एक स्लैश होगा जिसके बाद एक शाब्दिक' डी' होगा। –

1

यह बहुत समय पहले पूछा गया था, लेकिन उत्तर नहीं दिया गया।

.NET regex ऑपरेटर सटीक नियमित अभिव्यक्ति सिंटेक्स पृष्ठ 1 के निचले हिस्से में परिभाषित किया गया है।

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

  • कोई संबंधित समस्या नहीं^_^