Sida 1 av 1

[LÖST]Python: regexp sökning

Postat: 23 apr 2009, 09:55
av hub
Hej!

Jag har en lista av strängar som jag ska söka i med modulen re.
Det är två ord som ska matchas i strängen, och enligt http://www.regular-expressions.info/jav ... ample.html så fungerar det, men inte i pyhton.

Kod: Markera allt

import re

if __name__ == '__main__':
    listofstrings = list(['architecture\n', 'architecture of\n', 'architecture of s27_bench is\n'])
    p = re.compile('(?=.*?\barchitecture\b)(?=.*?\bs27_bench\b).*', re.IGNORECASE)
    for str in listofstrings:
        result = p.search(str)
        if not result is None:
            print 'Found string'
            print result.group()
        else:
            print 'Not found'
Det är meningen att den ska hitta i tredje elementet i listan, men den hittar inget! :(

Hjälp vore tacksamt!

LÖST: Python: regexp sökning

Postat: 23 apr 2009, 11:20
av hub
Hittade problemet.
Python tyckte inte om \b utan att ange att strägnen är "raw".

Kod: Markera allt

    p = re.compile(r'\barchitecture\b.*\bs27_bench\b.*', re.IGNORECASE)
Bara lagt till ett r i början av strängen så löste det sig!