试图在我的文本中查找和替换一般表达式

时间:2017-12-12 23:40:19

标签: python regex string

以下是示例文字:

  

开始解决与SOP-020583v11.0部分的偏差   SOP-016248v2.0 john doe,john doe SOP-020583假文,这都是   假的。

我有几百个这样的段落:

  

开始解决偏离acafjd部分abgcej john doe,   john doe假文,这都是假的

我创建了以下函数来查找唯一的SOP编号:

def regex_list(regex,input_doc):
    result = re.compile(regex)
    regex_list = [result.findall(x) for x in input_doc]
    final_regex_list = [x for l in regex_list for x in l]
    final_regex_list = list(set(final_regex_list))
    return final_regex_list

我想更进一步,在我找到SOP号码时更换它。所以在它运行完这个函数后,它会这样:

我想用数字的一些文字表示替换它。我正在考虑使用与该数字相关联的字符。

1 个答案:

答案 0 :(得分:1)

您应该使用re.sub

  

re.sub(pattern,repl,string,count = 0,flags = 0)

     

...如果repl是一个函数,则会在每次非重叠的模式发生时调用它。该函数接受单个匹配对象参数,并返回替换字符串。

https://docs.python.org/3/library/re.html#re.sub