शब्द सीमाओं के बजाय, आप भी चरित्र से पहले और एक (\s|^)
और (\s|$)
पैटर्न के साथ शब्द के बाद से मेल खा सकते।
टूटने: \s
मैचों हर खाली स्थान के चरित्र है, जो, आप क्या हासिल करने की कोशिश कर रहे हैं हो रहा है के रूप में आप डैश को छोड़कर कर रहे हैं। ^
और $
यह सुनिश्चित करें कि यदि शब्द स्ट्रिंग में पहला या आखिरी है (यानी कोई चरित्र पहले या बाद में नहीं) तो उनसे मिलान भी किया जाता है।
आपका कोड कुछ इस तरह बन जाएगा:
pattern = re.compile(r'(\s|^)(word)(\s|$)')
result = pattern.sub(r"\1match\3", "-word- word")
क्योंकि इस समाधान इस तरह के \s
के रूप में चरित्र वर्गों का उपयोग करता है, तो इसका मतलब है कि जो आसानी से बदला जा सकता है या बढ़ाया। उदाहरण के लिए यदि आप चाहते थे कि आपके शब्द रिक्त स्थान या अल्पविराम से सीमित हों, तो आपका पैटर्न कुछ ऐसा हो जाएगा: r'(,|\s|^)(word)(,|\s|$)'
।
मैं यह भी सुनिश्चित कैसे कर सकता हूं कि – alpalalpal
शब्द के बाद कोई डैश नहीं है मैंने एक स्पष्टीकरण जोड़ा। – Matthias