regex - Python re.search - searching from left to right -
i've got small problem. i've written module parse configuration file (wvdial's wvdial.conf) using regex. file contains strings "init1 = at"
, i've used following regex:
match = re.match(r'(.*)=(.*)', line)
everything worked until following line:
#init3 = at+cpin="0000"
which got parsed like:
'#init3 = at+cpin':'0000'
it seems regex engine goes right left parsing string. there way reverse re.search direction?
you need mark first *
quantifier non-greedy appending ?
:
match = re.match(r'(.*?)=(.*)', line)
demo:
>>> line = '#init3 = at+cpin="0000"' >>> re.match(r'(.*?)=(.*)', line).group() '#init3 = at+cpin="0000"'
by making quantifier non-greedy, regular expression engine match minimum satisfy pattern, rather maximum.
Comments
Post a Comment