1
정규식을 작성하여 기존 IRC 로그를 구문 분석하려고합니다.로그를 구문 분석하는 정규식입니다.
정규 표현식 :
(\d\d:\d\d)(<)(@|\+)(.+?)>(.*)
LOG 예 : 내가 연산자이없는 사용자를 제외하고 로그에서 필요한 모든 구문 분석 할 수있었습니다
= 00:00<@billy> text text text text text text text text text text text text text text text
= 00:03<+tom> text text text text text text
= 00:03<somedude> text text
(@) 또는 음성 (+) 상태를 표시합니다. 내가 정규식을 실행할 때
따라서, 나는 다음과 같은 얻을 :
[('00:00', '<', '@', 'bill', " text text text text text text text text text text text text text text text ")]
[('00:00', '<', '+', 'tom', " text text text text text text ]
[]
따라서, 'somedude는'행방 불명입니다. 누구든지 더 나은 접근 방법에 대한 힌트를 얻을 수 있을까요?
'? '를 추가하여 해당 그룹을 선택 가능하게 만드십시오. '(\ d \ d : \ d \ d) (<) ([@ +]?) (. +?)> (. *)'. https://regex101.com/r/XJESLT/1을 참조하십시오. 글쎄요, 어떤 사람들은 여기서 줄지 모릅니다. 당신의 필요에 따라 패턴을 다시 뱀파이어로 보내주십시오. –
어쩌면 ['(\ d {2} : \ d {2}) <([@+]?[^>] *)> (https://regex101.com/r/XJESLT/2)가 더 낫습니까? ('[^>]'은 개행 문자와 일치 할 수 있습니다.'[^> \ n] *'이 더 좋을 수도 있습니다. –
@ WiktorStribi 어떤 제안도 나에게 효과가 없었습니다. 그게 도움이된다면're'로 파이썬 3.0을 사용하고 있습니다. – icomefromchaos