我正在尝试分析推文,但希望避免使用正则表达式后跟@(@Profile_name)的配置文件用户名!
我试过了:
re.findall(r'(?!@[\w+]*)(\w+)', "I want to take everything but @this, but I cannot find a way"))
它给了我:
>>>> [['I', 'want', 'to', 'take', 'everything', 'but', 'this', 'but', 'I', 'cannot', 'find', 'a', 'way']]
我不想要“这个”:/ 我是正则表达式的新手,但我真的无法解决这个问题。 谢谢!
答案 0 :(得分:1)
尝试re.sub
re.sub(pattern, repl, string, count=0, flags=0)
返回通过替换repl替换字符串中最左边非重叠模式而获得的字符串。如果未找到模式,则返回字符串不变。 repl可以是字符串或函数;如果它是一个字符串,则处理其中的任何反斜杠转义。也就是说,
\n
被转换为单个换行符,\r
被转换为回车符,依此类推。诸如\j
之类的未知逃逸单独留下。反向引用(例如\6
)将替换为模式中第6组匹配的子字符串。
>>> re.sub(r'(@\w+)', "", "I want to take everything but @this, but I cannot find a way")
'I want to take everything but , but I cannot find a way'