使用正则表达式避免使用推特配置文件名称(@Profile)

时间:2018-02-19 15:18:17

标签: regex

我正在尝试分析推文,但希望避免使用正则表达式后跟@(@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']]

我不想要“这个”:/ 我是正则表达式的新手,但我真的无法解决这个问题。 谢谢!

1 个答案:

答案 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'