.NET में, regex कैप्चर का आयोजन नहीं कर रहा है जैसा कि मैं उम्मीद करता हूं। (मैं इसे एक बग नहीं कहूंगा, क्योंकि स्पष्ट रूप से किसी ने इसका इरादा किया था। हालांकि, यह नहीं है कि मैं इसे कैसे काम करने की उम्मीद करता हूं और न ही मुझे यह उपयोगी लगता है।).NET regex कैप्चर अपेक्षित क्रम में नहीं
यह रेगेक्स नुस्खा सामग्री के लिए है (खातिर सरलीकृत उदाहरण के):
(?<measurement> # begin group
\s* # optional beginning space or group separator
(
(?<integer>\d+)| # integer
(
(?<numtor>\d+) # numerator
/
(?<dentor>[1-9]\d*) # denominator. 0 not allowed
)
)
\s(?<unit>[a-zA-Z]+)
)+ # end group. can have multiple
मेरे स्ट्रिंग: 3 tbsp 1/2 tsp
परिणामस्वरूप समूहों और कब्जा:
[माप] [0] = 3 चम्मच
[माप] [] = 1/2 चम्मच
[पूर्णांक] [0] = 3
[numtor] [] = 1
[dentor] [] = 2
[इकाई] [0] = चम्मच
[इकाई] [] = चम्मच
सूचना कैसे भले ही 1/2 tsp
2 कैद में है, यह भागों [0]
में हैं क्योंकि इन धब्बों previousl थे वाई अप्रयुक्त
क्या सभी हिस्सों को फिर से रेगेक्स के माध्यम से प्रत्येक समूह को फिर से चलाने के बिना अनुमानित उपयोगी अनुक्रमणिका प्राप्त करने का कोई तरीका है?
'/' regexes में कोई विशेष अर्थ नहीं है। कुछ स्वाद इसे रेगेक्स * अक्षर * (जावास्क्रिप्ट, उदाहरण के लिए) के लिए एक डिलीमीटर के रूप में उपयोग करते हैं, लेकिन .NET में यह सिर्फ एक और चरित्र है; आपको इसे बचाना नहीं है। –
उत्तर देने के लिए समय लेने के लिए धन्यवाद, लेकिन मुझे रेगेक्स विश्लेषण की आवश्यकता नहीं थी - यह प्रश्न में इस मुद्दे को दिखाने के लिए यहां है। – Dinah