[英]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.