Orlando Vazquez wrote:
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
Yes - that seems to be the simplest solution to the problem. I'd forgotten entirely about non-greedy matching when I asked the question. Thanks.
-- ---------------------------------------------------------------------------- Tim Daneliuk [EMAIL PROTECTED] PGP Key: http://www.tundraware.com/PGP/ -- http://mail.python.org/mailman/listinfo/python-list