文章目录
一、python利用正则表达式提取文本中特定内容
1.re.compile()
:该函数用于生成一个正则表达式,也就是匹配的核心部分,用来定义你需要怎么匹配,匹配什么内容,更多细节可以去参看菜鸟教程。
2.re.findall()
:该函数用于在指定的字符串中进行匹配。
例子:1.在一段文本或字符串中提取从某一位置XXX开始到某一位置X结束的特定内容:re.compile(‘XXX.+X’),示例:
import re
str='abcd1234efg'
pattern=re.compile('ab.+ef') #匹配从ab开始,到ef结束的内容
result=pattern.findall(str)
print(result)
运行结果如下
['abcd1234ef']
2.在一段文本或字符串中提取从某一位置XXX之后到某一位置X之前的特定内容:re.compile(‘XXX(.+)X’)
import re
str='abcd1234efg'
pattern=re.compile('ab(.+)ef') #匹配ab与ef之间的内容
result=pattern.findall(str)
print(result)
运行结果如下
['cd1234']
所以从这两个匹配可以看出,两者的主要区别就在于有无(),很实用的一种方法~~
3、re.findall
event_name = re.findall(r"<td>事件</td><td>(.+?)</td>",content)
正则匹配 以“<tr>事件</td><td>”开头 和 以“</tr>”结尾 之间的内容
二、用python正则表达式提取字符串
https://www.cnblogs.com/rj81/p/5933838.html
三、Python利用正则表达式匹配并截取指定子串及去重的方法
import re
pattern=re.compile(r'\| (\d+) \| (\d+) \|')
numset=set()
all='''
| 29266795 | 533 |
| 29370116 | 533 |
| 29467495 | 533 |
| 29500404 | 533 |
| 29500622 | 533 |
| 29515964 | 530 |
| 29516015 | 530 |
| 29520954 | 530 |
| 29520960 | 530 |
| 29525346 | 530 |
| 29525351 | 530 |
| 29525365 | 530 |
'''
matches=pattern.findall(all)
for did,dt in matches:
numset.add(dt)
print numset
输入结果:
{'533', '530'}
四、pip下载加速
使用方法,在命令后加后缀,加速:
pip install numpy -i https://pypi.douban.com/simple/
阿里云 https://mirrors.aliyun.com/pypi/simple/
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
豆瓣(douban) https://pypi.douban.com/simple/
清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/
中国科学技术大学 https://pypi.mirrors.ustc.edu.cn/simple/
五、将Python脚本打包成可执行程序
1.下载pyinstaller
pip install pyinstaller -i https://pypi.douban.com/simple/
或
pip3 install pyinstaller -i https://pypi.douban.com/simple/
2.pyinstaller打包方法
PyInstaller提供了两种把.py文件包成.exe文件的方式:
第一种:把由.py文件打包而成的.exe文件及相关文件放在一个目录中。
语法:pyinstaller 应用程序
eg:pyinstaller Hello.py
第二种:加上 -F 参数后把制作出的.exe打包成一个独立的.exe格式的可执行文件。
语法:pyinstaller -F 应用程序
eg:pyinstaller -F Hello.py
1、打包后.exe文件在dist目录下
2、 执行一次打包命令通常会生成两个目录一个附件,分别是build、dist、和xx.spec。build是编译过程中的中间产物,dist是最终可执行程序目录,spec文件是类似缓存,如果你第二次打包,则需要先把spec删掉,否则第二次打包会受影响。