Julien <[EMAIL PROTECTED]> writes: > I'm fairly new in Python and I haven't used the regular expressions > enough to be able to achieve what I want. > I'd like to select terms in a string, so I can then do a search in my > database. > > query = ' " some words" with and "without quotes " ' > p = re.compile(magic_regular_expression) $ <--- the magic happens > m = p.match(query)
I don't think you can achieve this with a single regular expression. Your best bet is to use p.findall() to find all plausible matches, and then rework them a bit. For example: p = re.compile(r'"[^"]*"|[\S]+') p.findall(query) ['" some words"', 'with', 'and', '"without quotes "'] At that point, you can easily iterate through the list and remove the quotes and excess whitespace. -- http://mail.python.org/mailman/listinfo/python-list