regulärer ausdruck doppelte wörter.
Verfasst: Donnerstag 20. April 2006, 18:20
hi,
habe folgenden regulären ausdruck (mit dem ich alle doppelten wörter case insensitive in einem text suchen will). pro zeile existiert ein wort. wörter stehen am zeilenanfang.
folgender ausdruck funktioniert teilweise:
doppeltesWort=re.compile(r'^(\w+)$.*?^\1',re.DOTALL|re.M|re.I)
aber es werden wörter ausgegeben (-> groups(1)), die als wortanfang existieren. z.B.: 'zw' zu 'zwingen'
deswegen folgender ausdruck, um die gesamte zeile zu matchen:
doppeltesWort=re.compile(r'^(\w+)$.*?^\1$',re.DOTALL|re.M|re.I)
jetzt werden über groups(1) allerdings fast keine wörter mehr ausgegeben.
was ist am letzten ausdruck falsch?
vielen dank!
habe folgenden regulären ausdruck (mit dem ich alle doppelten wörter case insensitive in einem text suchen will). pro zeile existiert ein wort. wörter stehen am zeilenanfang.
folgender ausdruck funktioniert teilweise:
doppeltesWort=re.compile(r'^(\w+)$.*?^\1',re.DOTALL|re.M|re.I)
aber es werden wörter ausgegeben (-> groups(1)), die als wortanfang existieren. z.B.: 'zw' zu 'zwingen'
deswegen folgender ausdruck, um die gesamte zeile zu matchen:
doppeltesWort=re.compile(r'^(\w+)$.*?^\1$',re.DOTALL|re.M|re.I)
jetzt werden über groups(1) allerdings fast keine wörter mehr ausgegeben.
was ist am letzten ausdruck falsch?
vielen dank!