假设我有一个字符串
versioned object base "/cm/common" (locked)
created 2002-08-22T11:43:31+02:00 by Super-User (root.other@bb-soft-ccs)
VOB family feature level: 4
VOB storage host:pathname "atpccupd.cvc-global.net:/export/vobstore/obce/cm_common.vbs"
VOB storage global pathname "/net/atpccupd.cvc-global.net/export/vobstore/obce/cm_common.vbs"
database schema version: 80
modification by remote privileged user: allowed
atomic checkin: disabled
VOB ownership:
owner tmn/ccadm
group tmn/HBGHS_CC_G
Additional groups:
group tmn/smc_cc
ACLs enabled: No
Attributes:
FeatureLevel = 4
在第二行中,您可以看到我们有created 2002-08-22T11:43:31+02:00 by Super-User (root.other@bb-soft-ccs)
。我需要从这里提取Super-User
。
我需要写一个regex,这样它首先匹配created,然后是第一个类似日期时间的模式,然后是by,然后再获得字符串。同一行中的最后一个字符串可以是结尾,也可以是需要模式匹配的电子邮件。
所以我基本上需要的是
r'由(matchuser(创建(matchdateTtime(($orEmailMatchWithinBrackets('
这就是我尝试的
import re
re.search(r'created (d{4}-d{2}-d{2}Td{2}:d{2}:d{2}+d{2}:d{2})by(.*?)(emailmatchpattern|$)', text)
但这似乎并不奏效。
这是我的电子邮件匹配模式:^[w-.]+@([w-]+.)+[w-]{2,4}$
try:
import re
re.search("(?<=createdsdddd-dd-ddTdd:dd:dd+dd:ddsbys).*(?=s()", text)