gpt4 book ai didi

python - 如何在 python 中拆分非常长的正则表达式

转载 作者:太空宇宙 更新时间:2023-11-03 12:48:12 25 4
gpt4 key购买 nike

我有一个很长的正则表达式。

 vpa_pattern = '(VAP) ([0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}): (.*)'

我的匹配组代码如下:

 class ReExpr:
def __init__(self):
self.string=None

def search(self,regexp,string):
self.string=string
self.rematch = re.search(regexp, self.string)
return bool(self.rematch)

def group(self,i):
return self.rematch.group(i)

m = ReExpr()

if m.search(vpa_pattern,line):
print m.group(1)
print m.group(2)
print m.group(3)

我尝试通过以下方式将正则表达式模式制作成多行,

vpa_pattern = '(VAP) \
([0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}):\
(.*)'

或者即使我试过了:

 vpa_pattern = re.compile(('(VAP) \
([0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}):\
(.*)'))

但是上面的方法都不行。对于每个组,我在左括号和右括号后都有一个空格 ()。我想当我分成多行时它没有恢复。

最佳答案

re.X flag .它允许注释并忽略正则表达式中的空格。

a = re.compile(r"""\d +  # the integral part
\. # the decimal point
\d * # some fractional digits""", re.X)

关于python - 如何在 python 中拆分非常长的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23911769/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com