正则表达式替换匹配以外的所有内容

时间:2018-01-15 14:02:44

标签: python regex regex-negation

我想保留以'@'开头并继续使用字母或点的单词。基本上我做了相反的事情,我可以匹配这样的话,但不知道如何匹配除了这场比赛之外的一切。所以基本上只保留以'@'开头的那些。到目前为止,我有这样的模式:

(@[a-zA-Z0-9.]+\b)

我试过用'?!'但它不起作用。谢谢!

2 个答案:

答案 0 :(得分:0)

从评论中,以下正则表达式是正确的

(?:^|\s)[^@]*

完全相反的是

(?:^|[^@A-Za-z0-9.]|@(?![A-Za-z0-9.]+\b))[^@]*

答案 1 :(得分:0)

尝试使用此正则表达式:

  

(@ + [A-ZA-Z0-9] + [A-ZA-Z0-9] +)

我在网上对它进行了测试,它可以满足您的需求(匹配以@开头的所有单词,并且可以继续使用点,es:@ hello.sir match | @ hello.sir.do匹配等等..)