2014-11-05 3 views
0

Robot Framework에서 로그 파일의 알려진 문자열 사이에서 텍스트를 가져 오는 방법을 찾으려고합니다. IP 주소와 같은 변수를 가져 와서 Testplans를 통해 전달하려고합니다.Robot Framework - "Lookaround"regex

예 로그 : (나는이 통제 할 수없고 DEVS 어떤 이유로이를 변경하고자하는 것, 가지가지 타임 스탬프를 참고.)

[2014-10-11T22:34:00.11] TCPConnect - Connecting to 192.168.21.139 on port 8030.

[2014-10-11 22:34:00.11] TCPConnect - Connecting to devbox01 on port 9718.

[2014-10-11] [22:34:00.11] TCPConnect - Connecting to devbox01.here.local.net on port 8712.

나는 키워드를 사용하는 경우 '라인은 정규 표현식을 일치 가져 오기'와 정규식 :

(?<=.*Connecting to)(.*?)(?= on port .*) 

내가 얻을 :

error: look-behind requires fixed-width pattern

나는 IP를 얻기 위해 기대 주소, 호스트 이름 및 'Connecting to'과 'on port'사이의 다른 것들이 있지만 이것은 사실이 아닙니다. 나는 이것이 파이썬 2.6과 함께해야한다는 것을 알고 있으며 분명히이 기능을 포함 할 것이다. 현재 릴리스 내에서이 문제를 해결하고 싶습니다.

누구든지 아이디어가 있습니까?

답변

1

여기 보이는 것을 뒤에서 사용할 필요가 없다고 생각합니다. 이 줄과 일치해야합니다 :

일치하는 전체 줄을 반환합니다 - 패턴과는 아무런 관련이 없습니다. 단지 키워드의 작동 방식입니다. 캡처 링 그룹 또는 비 캡처 그룹을 추가하더라도 일치하는 전체 라인을 가져옵니다. IP 주소 만 얻으려면 반환되는 줄을 좀 더 파싱해야합니다.

+0

예, Builtin 또는 String 라이브러리에 필요한 것을 수행하는 키워드가 없습니다. 'Split String' 또는 파이썬 사용자 키워드가 가장 좋은 옵션이 될 것입니다. –

관련 문제