[英]Regex Python Adding a char before a random word and the special char :
我正在嘗試為這種類型的字符串找到正確的正則表達式:
cat: monkey, ab4 / 1997 / little: cat, 1954/ afgt22 /dog: monkey, 173 / pine-apple: duer, 129378s. / 12
我想設置的正則表達式是:
插入字符“ |” 在任何“單詞”后跟“:”之前,即為“單詞”任何類型的單詞,僅包含字符而不包含數字。
問題:
我無法找到一種方法來考慮字符串的開頭,包含'-'的單詞或特殊字符(如'/'而不是空格)開頭的單詞,如以下示例所示:
https://regex101.com/r/gX7wY0/5
如您所見,到目前為止,只有其中一個有效,但是'|' char后面有一個空格,然后是單詞“:”。
我想做的是:
|cat: monkey, ab4 / 1997 / |little: cat, 1954/ afgt22 /|dog: monkey, 173 / |pine-apple: duer, 129378s. / 12
到目前為止,只有特殊字符'-'在':'之前成為單詞的一部分。
在此先感謝您,我仍在學習如何在Python中使用正則表達式。 歡迎任何提示!
您可以使用r'\\b'
搜索分詞。 對於您的情況,您正在尋找
[A-Za-z\\-]+
\\b[A-Za-z\\-]+\\b
\\b[A-Za-z\\-]+\\b:
\\b([A-Za-z\\-]+)\\b:
\\1
在替換中恢復它 import re
s = 'cat: monkey, ab4 / 1997 / little: cat, 1954/ afgt22 /dog: monkey, 173 / pine-apple: duer, 129378s. / 12'
re.sub(r'(\b[A-Za-z\-]+\b):', r'|\1:', s)
# returns:
'|cat: monkey, ab4 / 1997 / |little: cat, 1954/ afgt22 /|dog: monkey, 173 / |pine-apple: duer, 129378s. / 12'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.