मैं कुछ डॉकस्ट्रिंग को पार्स करने की कोशिश कर रहा हूं।regex: वैकल्पिक भागों के साथ स्ट्रिंग
एक उदाहरण docstrings है:
Test if a column field is larger than a given value
This function can also be called as an operator using the '>' syntax
Arguments:
- DbColumn self
- string or float value: the value to compare to
in case of string: lexicographic comparison
in case of float: numeric comparison
Returns:
DbWhere object
दोनों Arguments
और Returns
भागों वैकल्पिक हैं। मैं चाहता हूं कि मेरा रेगेक्स समूह के रूप में विवरण (पहली पंक्तियां), Arguments
भाग (यदि मौजूद है) और Returns
भाग (यदि मौजूद है) के रूप में वापस लौटना चाहता है।
regex मैं अब है:
m = re.search('(.*)(Arguments:.*)(Returns:.*)', s, re.DOTALL)
और मामले में काम करता है सभी तीन भागों मौजूद हैं लेकिन जैसे ही Arguments
के रूप में विफल रहता है या Returns
भागों उपलब्ध नहीं हैं। मैंने ??
जैसे गैर-लालची संशोधक के साथ कई भिन्नताओं की कोशिश की है लेकिन इसका कोई फायदा नहीं हुआ है।
संपादित करें:Arguments
और Returns
भागों मौजूद हैं, मैं वास्तव में केवल Arguments:
और Returns:
क्रमशः के बाद पाठ से मेल करना चाहते हैं।
धन्यवाद!
क्या ऑर्डर हमेशा तय किया गया है? I. ई।, मानक पाठ के बाद और 'रिटर्न' से पहले हमेशा 'तर्क' है? –
हां, आदेश हमेशा तय किया जाता है। – BioGeek