-3
내가 예를 들어 로그를 정렬하는 방법을 알아 내려고 노력하고있어 ...정규식을 사용하여 로그를 정렬 하시겠습니까?
- 사용자 : 테스트
- 레벨 : 사용자
- 도메인 : 로컬 호스트
- 시간 : 정오
- ㅋ : 정보
- 날짜 : 2016년 7월 12일
- IP : 127.0.0.1
출력 텍스트를 탭 공간으로 지정하고 싶습니다.
사용자 : 레벨 : 도메인 : 시간 : ㅋ : 날짜 : IP
내가 예를 들어 로그를 정렬하는 방법을 알아 내려고 노력하고있어 ...정규식을 사용하여 로그를 정렬 하시겠습니까?
출력 텍스트를 탭 공간으로 지정하고 싶습니다.
사용자 : 레벨 : 도메인 : 시간 : ㅋ : 날짜 : IP
내가 당신의 질문은 바로, 당신은 정렬에 대해없는 이야기지만, 구문 분석에 대해하고 얻을합니다. 다른 형식으로 변환 할 로그 문자열이 있습니다. 로그 문자열과 일치하는 정규 표현식은 많은 그룹이 때문에, 여기 출력은
입니다import re
logString = "User:Level:Domain:Time:Blah:Date:IP"
logGroups = ["User", "Level", "Domain", "Time", "Blah", "Date", "IP"]
reLogGroups = "(?P<"+">[^:]+):(?P<".join(logGroups)+">[^:]+)"
matchLogGroups = re.search(reLogGroups,logString)
if matchLogGroups:
counter = 1
for logGroup in logGroups:
print(str(counter)+". " + logGroup + ": " + matchLogGroups.group(logGroup) + "\n")
counter += 1
파이썬 예제가 훨씬 더 효율적으로 할 수있다, 그러나
(?P<User>[^:]+):(?P<Level>[^:]+):(?P<Domain>[^:]+):(?P<Time>[^:]+):(?P<Blah>[^:]+):(?P<Date>[^:]+):(?P<IP>[^:]+)
것
1. User: User
2. Level: Level
3. Domain: Domain
4. Time: Time
5. Blah: Blah
6. Date: Date
7. IP: IP
어떤 것을 정렬 하시겠습니까? 임의의 필드를 정렬하는 방법을 묻는 중입니까? 어떤 언어로? 이 질문은 정규식과 어떤 관련이 있습니까? –