Voor een logparser (in Python) gebruik ik een regex die bestaat uit stukjes zoals "([^"]*)"; deze geeft dus alles terug wat er tussen de quotes staat. Nu loop ik echter vast op logs waarin bijvoorbeeld iets als "blah\"mkay" staat. Hierbij wordt blah\ dan gematched, terwijl het natuurlijk de bedoeling is dat blah\"mkay gematched wordt. Hier zijn een paar dingen die ik al geprobeerd heb:
Nog meer ideeen?
code:
1
2
3
| ' "((?:(?:[^"])|(?:\\"))*)" ' (los matchen met non-matching groups) ' "([^"(?:\\")]*)" ' (non-matching groepje in character class) ' "([^"]*)(?<!\\\)" ' (negative lookbehind assertion) |
Nog meer ideeen?
[ Voor 14% gewijzigd door djc op 20-06-2006 09:29 ]
Rustacean