[Python-de] Index im String suchen

Georg Mischler schorsch at schorsch.com
Sun Feb 2 12:54:58 EST 2003


Albert Hermeling wrote:

> Am Sonntag, 2. Februar 2003 17:44 schrieb Juergen Hermann:
> > On Sun, 02 Feb 2003 14:16:56 +0100, Andreas Jung wrote:
>
> Guten Abend,
>
> > >Im Klartext: Nimm re.search() anstatt re.match()
> > Was er tatsächlich möchte ist re.findall. Steht auch inner Doku. ;>
>
> Was ich tatsaechlich gebrauche ist eine Moeglichkeit alle!! vorkommen von <bo>
> in einem Text zu finden und nur den Start- und Endindex zu bekommen.


Dafuer gibt es keine extra Funktion. Du wirst re.search()
mehrmals aufrufen muessen, jeweils auf den Rest des Strings
hinter dem vorherigen match (ungetestet):

def findranges(s, p):
    cp = re.compile(p)
    m = cp.search(s)
    posl: []
    rest = 0
    while m != None:
        posl.append((m.start, m.end))
        rest = rest + m.end
        m = cp.search(s[rest:])
    return posl


-schorsch

-- 
Georg Mischler  --  simulations developer  --  schorsch at schorsch com
+schorsch.com+  --  lighting design tools  --  http://www.schorsch.com/





More information about the Python-de mailing list