Regex pythona dziala inaczej niz regex online

0

Witam.

Czemu regex pythona dziala inaczej niz na stronie https://regex101.com/?

Moj string:

TMGR_ERROR: (BLOCKING) scenario stopped 

Moj regex:

TMGR_ERROR\:\s(.*)

Parser online poprawnie bierze, mi caly string (BLOCKING) scenario stopped natomiast python jedynie pierwszy character (nawias). Z czego to wynika?

match = re.findall(r'TMGR_ERROR\:\s(.*)', line)

Pozdrawiam

0

":" nie ma znaczenia specjalnego, więc niepotrzebny znak ucieczki "" może powodować różne dziwne rzeczy, zależnie od tego jak jest zaimplementowane wyrażenie regularne.

0

Bez tego znaku jest to samo

0

Może Masz jakąś literówkę, bo u mnie działa:

➜  ~ python3 --version
Python 3.5.2 :: Anaconda 4.2.0 (64-bit)
➜  ~ python3          
Python 3.5.2 |Anaconda 4.2.0 (64-bit)| (default, Jul  2 2016, 17:53:06) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import re
>>> p = re.compile('TMGR_ERROR:\s(.*)')
>>> p.findall("TMGR_ERROR: (BLOCKING) scenario stopped")
['(BLOCKING) scenario stopped']
>>>

1 użytkowników online, w tym zalogowanych: 0, gości: 1