python - Non-greedy mode in re.search() does not match to end of string -


i'm trying parse values of cookie this:

import re m = re.search("(.*?)=(.*?); path=(.*?); domain=(.*?)", "name=value1; path=/; domain=my.domain.com") print (m.group(0)) 

result this:

name=value1; path=/; domain= 

my question is: why not match @ last non-greedy position? expected result be:

name=value1; path=/; domain=my.domain.com 

of course, change greedy mode or use end of line character ($) i'd understand why it's not working expected work :)

non-greedy means match little can while still allowing entire match succeed. * means "zero or more". least can match zero. matches 0 , match succeeds.

the other occurrences of .*? in regex cannot match zero, because entire regex fail match.


Comments

Popular posts from this blog

Java 3D LWJGL collision -

spring - SubProtocolWebSocketHandler - No handlers -

methods - python can't use function in submodule -