Skip to main content
 首页 » 编程设计

使用 OR 运算符的 Python 正则表达式

2025年05月04日24sxdcgaq8080

<分区>

我正在尝试使用正则表达式 (RE) 解析大量文本文件样本。我试图从这些文件中提取包含 'vu' 并以换行符 '\n' 结尾的文本部分。

模式因文件而异,因此我尝试使用 OR 运算符在我的文件中查找 RE 的组合。但是,我没有找到一种方法来自动化我的代码,以便 re.findall() 函数查找 RE 的组合。

这是我如何尝试解决此问题的示例,但显然我仍然无法在 re.findall() 中评估我的正则表达式和 OR 运算符:

import re 
 
def series2string(myserie) : 
    myserie2 = ' or '.join(serie for serie in myserie) 
    return myserie2 
 
def expression(pattern, mystring) :  
    x = re.findall(pattern, mystring) 
    if len(x)>0: 
        return 1 
    else: 
        return 0 
 
#text example 
text = "\n\n    (troisième chambre)\n    i - vu la requête, enregistrée le 28 février 1997 sous le n° 97nc00465, présentée pour m. z... farinez, demeurant ... à dommartin-aux-bois (vosges), par me y..., avocat ;\n" 
 
#expressions to look out 
pattern1 = '^\s*vu.*\n' 
pattern2 = '^\s*\(\w*\s*\w*\)\s*.*?vu.*\n' 
 
pattern = [pattern1, pattern2] 
pattern = series2string(pattern) 
 
expression(pattern, text) 

注意 :我通过在 for 循环 中寻找每个模式来规避这个问题,但如果我可以只使用 re.findall( )一次。