由于工作需要对大量文本进行预处理,需要一套的预处理流程,现对相关知识做笔记:
python正则测试:
最常用的是去掉http之类的url,下面这个很好用
line = re.sub('(https?|ftp|file)://[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|]','',line)
正则知识补充:
表达式 | 意义 |
---|---|
\d=[0-9] | 匹配任意数字 |
\D=[^0-9] | 匹配非数字 |
\s=[\f\n\r\t\v] | 匹配空白字符 |
\w=[A-Za-z0-9_] | 匹配包含下划线的任意单词 |
遗留问题待解决:
- 怎么匹配两个在一起的字符串
str1 = 'httpfshttpshttphttpwe'
#目的:匹配httpfs或者http,并不能使用http(fs)?
- 现在查找是使用findall,替换是使用sub,其他的方法都在什么情景下使用,match或者find或者group之类的
- 断言怎么使用
目前总结的预处理的正则表达式如下