python 正则表达式引入变量

在常用的正则表达式都是使用表达式进行写入,尤其在findall中,但是经常会遇到需要提取字符串时,需要引入不同的变量来提取字符串,这时候就需要在正则表达式中引入变量,参考代码如下:

#!/usr/bin/env python3
# -*- coding:utf8 -*-
# @TIME  :2019/7/14 9:02
# @Author:zoombug
# @File  :
import os 
import re
import csv
source_file=r'C:\Users\Desktop\pytxt_sorting\1.txt'  #要提取的原文件。
date_file=r'C:\Users\Desktop\data.txt' #提取的数据保存的文件。
csv_file=r'C:\Users\Desktop\test.csv' #参数存放的文件。
with open(csv_file,'r')as f:#读取cvs文件中的参数,参数保存在文件中
    f_csv=csv.reader(f)
    for row in f_csv:#每行进行读取,
        rp=str(row[1])#参数保存在文件中第二行,所以使用row[1].
        print(rp)
f=open(source_file)       #读取原文件。
for line in f.readlines():	#按照行数读取原文件。
    nono=re.findall(r''+rp+'',line)# ***通过引用r''+str(i)+''的形式引入正则的变量,按照参数文件定义的变量进行提取***
     with open(date_file,'a') as f_f:
        for dd in nono:
             f_f.write(str(dd)+'\n')
    f_f.close()    
   print('Done')
f.close()

如代码中,使用re.findall(r’’+rp+’’,line)# 通过引用 r’’+str(i)+’’ 的形式引入正则的变量,通过这样就可以使用正则表达是来获取产品的信息。
python 正则表达式引入变量_第1张图片

你可能感兴趣的:(python)