पायथन में रेगुलर एक्सप्रेशन की बहु-पंक्तियाँ
बहु-पंक्ति स्ट्रिंग के साथ काम करते समय रेगुलर एक्सप्रेशन की अपनी विशेषताएं होती हैं। आइए निम्नलिखित स्ट्रिंग के उदाहरण पर उन्हें समझते हैं, जिसमें सामान्य वर्ण, नई लाइन वर्ण और टैब वर्ण शामिल हैं:
txt = '''111
222
333
444'''
नई लाइन
नई लाइन के वर्णों को '\n' कमांड का उपयोग करके पकड़ा जा सकता है:
res = re.sub('\n', '!', txt)
print(res)
निम्नलिखित स्ट्रिंग आउटपुट होगी (लाइनों के बीच का स्थान टैब है):
'111! 222! 333! 444'
टैब
टैब वर्णों को '\t' कमांड का उपयोग करके पकड़ा जा सकता है:
res = re.sub('\t', '!', txt)
print(res)
कोड निष्पादन का परिणाम:
'''
!111
!222
!333
!444
'''
डॉट (.) का व्यवहार
बहु-पंक्ति स्ट्रिंग के लिए '.' कमांड
नई लाइन वर्णों को नहीं पकड़ती:
res = re.sub('.', '!', txt)
print(res)
कोड निष्पादन का परिणाम:
'''
!!!
!!!!
!!!!
!!!!
'''
कोई भी वर्ण
बहु-पंक्ति स्ट्रिंग में सभी वर्णों को पकड़ने के लिए,
[\s\S] के संयोजन का एक चालाक तरीका उपयोग किया जाता है।
यह निर्माण सभी सामान्य वर्णों और सभी नई लाइनों को
ढूंढ लेगा:
res = re.sub('[\s\S]', '!', txt)
print(res)
कोड निष्पादन का परिणाम:
'!!!!!!!!!!!!!!!!!!'
डॉलर ($)
बहु-पंक्ति मोड में '
कमांड
प्रत्येक लाइन के अंत को पकड़ेगी:
res = re.sub('
', '!', txt)
print(res)
कोड निष्पादन का परिणाम:
'''
111!
222!
333!
444!
'''
व्यावहारिक समस्याएं
एक स्ट्रिंग दी गई है:
'''
abc
def
ghi
jkl
'''
एक रेगुलर एक्सप्रेशन लिखें जो इस स्ट्रिंग को निम्नलिखित में बदल दे:
'''
abc!
def!
ghi!
jkl!
'''
एक स्ट्रिंग दी गई है:
'''
abc
def
ghi
jkl
'''
एक रेगुलर एक्सप्रेशन लिखें जो इस स्ट्रिंग को निम्नलिखित में बदल दे:
'''
! abc
! def
! ghi
! jkl
'''
एक स्ट्रिंग दी गई है:
'''
abc
def
ghi
jkl
'''
एक रेगुलर एक्सप्रेशन लिखें जो इस स्ट्रिंग को निम्नलिखित में बदल दे:
'''!
abc
def
ghi
jkl
!'''
एक स्ट्रिंग दी गई है:
'''
abc
def
ghi
jkl
'''
एक रेगुलर एक्सप्रेशन लिखें जो इस स्ट्रिंग को निम्नलिखित में बदल दे:
'''!
! abc
! def
! ghi
! jkl
!'''
एक स्ट्रिंग दी गई है:
'''
abc
def
ghi
jkl
'''
एक रेगुलर एक्सप्रेशन लिखें जो इस स्ट्रिंग को निम्नलिखित में बदल दे:
'''!
abc!
def!
ghi!
jkl!
!'''
एक स्ट्रिंग दी गई है:
'''
abc
def
ghi
jkl
'''
एक रेगुलर एक्सप्रेशन लिखें जो इस स्ट्रिंग को निम्नलिखित में बदल दे:
'''
!abc
!def
!ghi
!jkl
'''