python3中(?P的正则应用
import re ''' 其中?P可以理解为将字符串s分组处理并命名为province、city、block ''' s = '13g00x21yy' res = re.search('(?P<province>\d{2}).*(?P<city>\d{2}).*(?P<block>\d{2}).*',s) print(res.groupdict()) """ 运行结果 {'province': '13', 'city': '00', 'block': '21'} """
案例2:
import re s_old_content = ''' resValue "string", "mi_app_id", "2882303761520217047" resValue "string", "mi_app_key", "5432021761047" ''' p_re = re.compile(r'(?P<key_str>"%s"),[ ]*(?P<value_str>".*")' % 'mi_app_id') p_search = p_re.search(s_old_content) if not p_search: print("not found") d_search = p_search.groupdict() print(d_search) #{'key_str': '"mi_app_id"', 'value_str': '"2882303761520217047"'}