re Insanity

Orlando Vazquez ovazquez at gmail.SPAM.com
Sun Jan 23 07:12:56 EST 2005


Tim Daneliuk wrote:
> For some reason, I am having the hardest time doing something that should
> be obvious.  (Note time of posting ;)
> 
> Given an arbitrary string, I want to find each individual instance of
> text in the form:  "[PROMPT:optional text]"
> 
> I tried this:
> 
>     y=re.compile(r'\[PROMPT:.*\]')
> 
> Which works fine when the text is exactly "[PROMPT:whatever]" but
> does not match on:
> 
>    "something [PROMPT:foo] something [PROMPT:bar] something ..."
> 
> The overall goal is to identify the beginning and end of each [PROMPT...]
> string in the line.
> 
> Ideas anyone?

If I understand correctly, this is what you are trying to achieve:

 >>> import re
 >>> temp = "something [PROMPT:foo] something [PROMPT:bar] something ..."
 >>> prompt_re = re.compile(r"\[PROMPT:.*?\]")
 >>> prompt_re.findall(temp)
['[PROMPT:foo]', '[PROMPT:bar]']
 >>>

HTH,

--
Orlando



More information about the Python-list mailing list