引入变量
pattern_1 = re.compile(r''+ str(tblName) + '\.(?P<fieldname>[\w\d_]+)')
匹配换行: 第一种方法:为了修正这个问题,修改模式字符串,增加对换行的支持。比如: 添加对换行符的支持,(?:.|\n)指定了一个非捕获组(即,这个组只做匹配但不捕获结果,也不会分配组号)
第二种方法:re.DOTALL re.compile()函数接受一个标志参数叫re.DOTALL,在这里非常有用,它可以让正则表达式中的点(.)匹配包括换行符在内的任意字符。
匹配指定字符串:
pattern_fieldMem = re.compile(r'xxx(?P<offset>TBA_.+?),\s+(?P<pos>\d+?),\s+(?P<width>\d+?)\);')
def GetFuncContextFieldsList(strIn):
fieldsList = []
items = re.finditer(pattern_fieldMem, strIn)
for match in items:
str = match.group(0)
offset = match.groupdict()['offset']
pos = match.groupdict()['pos']
width = match.groupdict()['width']