[ python-Bugs-1104608 ] Wrong expression with \w+?
SourceForge.net
noreply at sourceforge.net
Tue Jan 18 18:23:43 CET 2005
Bugs item #1104608, was opened at 2005-01-18 17:49
Message generated for change (Comment added) made by effbot
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=1104608&group_id=5470
Category: Regular Expressions
Group: Python 2.4
>Status: Deleted
>Resolution: Wont Fix
Priority: 5
Submitted By: rengel (engel_re)
Assigned to: Gustavo Niemeyer (niemeyer)
Summary: Wrong expression with \w+?
Initial Comment:
str = 'match the url www.junit.org with following regex'
regex = re.compile('(www\.\w+?\.\w+?)')
print regex.sub('<span class="url">\1</span>', str)
# It produces
match the url <span class="url">www.junit.o</span>rg
with following regex
# It should produce
match the url <span class="url">www.junit.org</span>
with following regex
----------------------------------------------------------------------
>Comment By: Fredrik Lundh (effbot)
Date: 2005-01-18 18:23
Message:
Logged In: YES
user_id=38376
No, it shouldn't. "+?" means the shortest possible match
that's one character or more. If you want the longest
possible match, get rid of the "?".
(in this case, I'd use "(www[.\w]*)")
</F>
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=1104608&group_id=5470
More information about the Python-bugs-list
mailing list