On Sat, Aug 26, 2006 at 09:45:04AM -0400, Kent Johnson wrote: >William O'Higgins Witteman wrote: >> I want a case-insensitive, verbose pattern. I have a long-ish list of >> match criteria (about a dozen distinct cases), which should be all "or", >> so I won't need to be clever with precedence. > >Vertical bar | is used to separate 'or' cases in a regex. To make it >case-insensitive and verbose you can compile with the flags re.VERBOSE >and re.IGNORECASE. Use the search method of the compiled regex to search >your string. For example, > >In [1]: import re > >In [2]: rx = re.compile('foo|bar|baz', re.VERBOSE | re.IGNORECASE) > >In [3]: rx.search('Foontastic') >Out[3]: <_sre.SRE_Match object at 0x00C40640> > >In [4]: rx.search('raise the BAR') >Out[4]: <_sre.SRE_Match object at 0x00E901A8>
Thank you for this. The problem is apparently not my syntax, but something else. Here is a pared-down snippet of what I'm doing: In [1]: import re In [2]: pat = re.compile(''' ...:copy of ...:| ...:admin ...:''', re.IGNORECASE | re.VERBOSE) In [3]: pat.search('''\\some\unc\path\Copy of somedarnfilename.exn''') In [4]: I don't get my match, and I really think I should. Can anyone tell me what I'm missing? Thanks. -- yours, William _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor