【发布时间】:2019-07-05 06:54:57
【问题描述】:
我想在字符串中得到'MASTER_INACTIVE'这个词:
'p_esco_link->state = MASTER_INACTIVE; /*M-t10*/'
通过搜索 reg-expression 'p_esco_link->state =' 找到以下单词。
我必须替换对 API 函数的日期访问。我在 python 3.6 中尝试了一些 reg-expression,但它不起作用。
pattern = '(?<=\bp_esco_link->state =\W)\w+'
if __name__ == "__main__":
syslogger.info(sys.argv)
if version_info.major != 3:
raise Exception('Olny work on Python 3.x')
with open(cFile, encoding='utf-8') as file_obj:
lineNum = 0
for line in file_obj:
print(len(line))
re_obj = re.compile(pattern)
result = re.search(pattern, line)
lineNum += 1
#print(result)
if result:
print(str(lineNum) + ' ' +str(result.span()) + ' ' + result.group())
例外的Python re 模块可以找到'MASTER_INACTIVE' 的位置并将其放入result.group()。
错误信息是 Python re 模块什么也没找到。
【问题讨论】:
标签: python python-3.x regex python-re