[英]Replace String in python with matched pattern
我必須從單詞的開頭和結尾刪除任何標點符號。 我正在使用re.sub
來做到這一點。
re.sub(r'(\w.+)(?=[^\w]$)','\1',text)
分組沒有運作 - 我得到的只是☺.
對於Mihir4.
在命令行中
字符串文字'\\1'
相當於'\\x01'
。 您需要轉義它或使用原始字符串文字來表示反向引用組1。
順便說一句,您不需要使用捕獲組。
>>> re.sub(r'^[^-\w]+|[^-\w]$', '', 'Mihir4.')
'Mihir4'
如果你有多個單詞的字符串,例如
text = ".adfdf. 'df' !3423? ld! :sdsd"
這樣就可以了(當然,它也適用於單個單詞):
>>> re.sub(r'[^\w\s]*(\w+)[^\w\s]*', r'\1', text)
'adfdf df 3423 ld sdsd'
注意r'\\1'
中的r'\\1'
。 這相當於'\\\\1'
。
>>> re.sub(r'[^\w\s]*(\w+)[^\w\s]*', '\\1', text)
'adfdf df 3423 ld sdsd'
進一步閱讀: 反斜杠瘟疫
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.