实验结果输出文档,包括多项参数(大约几百个),想把所有的loss value对应的值提取出来,画出曲线图,这就需要用到正则表达式,基于此,开始学习正则表达式。
正则表达式:可匹配文本片段的模式
通配符:句点.(.ython与jpython与python与 ython都匹配,但不与ython不与tpython匹配,因为一个句点只匹配一个字符,而不与零或两个字符匹配,除换行符外与其他字符都匹配。
特殊字符:通配符也属于特殊字符,例,想要匹配‘python.org’,可以直接使用模式‘python.org’,但它也与‘pythonzorg'匹配(因为.是通配符啊,滑稽脸~)想要特殊字符与普通字符一样,可对其进行转义(2种方式)
python\\.org #两个反斜杠包括两层转义:解释器执行的转义,模块re执行的转义
r'python\.org'
字符集:[],只能匹配一个字符
例如,[pj]ython与python与jython匹配
可使用范围:[a-z]与a~z的任何字母都匹配
[a-zA-Z0-9]与大写字母,小写字母,数字都匹配
二选一模式:管道字符 |
python|perl
子模式:
p(ython|erl)
可选模式:在子模式后面加上问号
r'(http://)?(www.)?python\.org'
重复模式:
(pat)* #可重复多次
(pat)+ #可重复1或多次
(pat){m,n} #可重复m~n次
确定字符串的开头和末尾是否与模式匹配:^,$