samedi 9 mai 2015

Picking up field value using Pythong regex

This is an example of two lines in a file that I am trying to pick up information from.

...
{ "SubtitleSettings_REPOSITORY", FieldType_STRING, (int32_t)REPOSITORY},
{ "PREFERRED_SUBTITLE_LANGUAGE", FieldType_STRING,SUBTITLE_LANGUAGE},
...

What I want to do is to find out the 3rd field of this weird data structure for the given string to match to 1st field, i.e.

SubtitleSettings_REPOSITORY => REPOSITORY
PREFERRED_SUBTITLE_LANGUAGE => SUBTITLE_LANGUAGE

The regx in my Python code can only handles the second line, but not cope with the first line. How I can improve it?

import re
...
#field is given a value in previous code, can be "SubtitleSettings_REPOSITORY", or "PREFERRED_SUBTITLE_LANGUAGE"
match = re.search(field+'"[, \t]+(\w+)[, \t]+(\w+)', src_file.read(), re.M|re.I)
return_value = match.group(2)

Aucun commentaire:

Enregistrer un commentaire