Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #8329
| Date | 2011-06-23 16:47 -0500 |
|---|---|
| From | "Thomas L. Shinnick" <tshinnic@prismnet.com> |
| Subject | Re: How do you print a string after it's been searched for an RE? |
| References | <c4486911-f2cb-4e0e-a93c-3d6ff7e302e9@16g2000yqy.googlegroups.com> |
| Newsgroups | comp.lang.python |
| Message-ID | <mailman.342.1308865647.1164.python-list@python.org> (permalink) |
There is also
print(match_obj.string)
which gives you a copy of the string searched. See end of section
6.2.5. Match Objects
At 02:58 PM 6/23/2011, John Salerno wrote:
>After I've run the re.search function on a string and no match was
>found, how can I access that string? When I try to print it directly,
>it's an empty string, I assume because it has been "consumed." How do
>I prevent this?
>
>It seems to work fine for this 2.x code:
>
>import urllib.request
>import re
>
>next_nothing = '12345'
>pc_url = 'http://www.pythonchallenge.com/pc/def/linkedlist.php?
>nothing='
>pattern = re.compile(r'[0-9]+')
>
>while True:
> page = urllib.request.urlopen(pc_url + next_nothing)
> match_obj = pattern.search(page.read().decode())
> if match_obj:
> next_nothing = match_obj.group()
> print(next_nothing)
> else:
> print(page.read().decode())
> break
>
>But when I try it with my own code (3.2), it won't print the text of
>the page:
>
>import urllib.request
>import re
>
>next_nothing = '12345'
>pc_url = 'http://www.pythonchallenge.com/pc/def/linkedlist.php?
>nothing='
>pattern = re.compile(r'[0-9]+')
>
>while True:
> page = urllib.request.urlopen(pc_url + next_nothing)
> match_obj = pattern.search(page.read().decode())
> if match_obj:
> next_nothing = match_obj.group()
> print(next_nothing)
> else:
> print(page.read().decode())
> break
>
>P.S. I plan to clean up my code, I know it's not great right now. But
>my immediate goal is to just figure out why the 2.x code can print
>"text", but my own code can't print "page," which are basically the
>same thing, unless something significant has changed with either the
>urllib.request module, or the way it's decoded, or something, or is it
>just an RE issue?
>
>Thanks.
Back to comp.lang.python | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
How do you print a string after it's been searched for an RE? John Salerno <johnjsal@gmail.com> - 2011-06-23 12:58 -0700
Re: How do you print a string after it's been searched for an RE? Ian Kelly <ian.g.kelly@gmail.com> - 2011-06-23 14:47 -0600
Re: How do you print a string after it's been searched for an RE? John Salerno <johnjsal@gmail.com> - 2011-06-23 14:14 -0700
Re: How do you print a string after it's been searched for an RE? "Thomas L. Shinnick" <tshinnic@prismnet.com> - 2011-06-23 16:47 -0500
Re: How do you print a string after it's been searched for an RE? John Salerno <johnjsal@gmail.com> - 2011-06-23 15:02 -0700
csiph-web