Just nu i M3-nätverket
Gå till innehåll

Regex uttryck


krullis

Rekommendera Poster

Hej!

 

Jag har ett problem med ett regex uttryck i python. När jag använder t.ex. ".*?kalle" på en lång sträng får jag följande fel "maximum recursion limit exceeded", hur kan jag skriva om uttrycket för att undvika detta?

 

Ex) lklkdskallelskdjflsdkalleskldjfl

.*?kalle alt. ?

 

Länk till kommentar
Dela på andra webbplatser

Det ska fungera .*? är icke girig match

>>> re.match(".*?kalle", "lklkdskallelskdjflsdkalleskldjfl").group(0)

blir

'lklkdskalle'

 

medans .* är girig och matchar så mycket som möjligt

>>> re.match(".*kalle", "lklkdskallelskdjflsdkalleskldjfl").group(0)

blir

'lklkdskallelskdjflsdkalle'

 

Detta var med python 2.2.2

 

Länk till kommentar
Dela på andra webbplatser

  • 3 veckor senare...
Christopher Bergren

Har inte programmerat Python, men för regexp:s i Perl, Javascript och VBScript kan man ange om sökningen skall vara global (girig) eller bara returnera första matchningen.

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...