python正则表达式易于实现查找和替换,但是并没有匹配位置添加字符的对应方法,可以通过使用re.sub变相实现
常规对re.sub的使用为
re.sub(pattern, repl, string, count=0, flags=0)
pattern : 正则中的模式字符串。 repl : 替换的字符串,也可为一个函数。 string : 要被查找替换的原始字符串。 count : 模式匹配后替换的最大次数,默认 0 表示替换所有的匹配。
添加的字符sub使用,第一个参数为pattern注意一定加(),第二个模式字符串,这里“\1前面表示匹配的位置 ”
str = 'doi:10.1016/0012825266900298'
re
.sub
('(.$)',r
'-\1',str)
'doi:10.1016/001282526690029-8'
re
.sub
('(doi)',r
'\1***',str)
'doi***:10.1016/0012825266900298'