2016-12-15 3 views
0

2016년 10월 21일 01 27.513 | 주 | 정보 | 125.0.225.25 | gdtl01db7i7h | { "여기서 instanceName": "testinstance", "애플리케이션 ID": "ABS3PP", " transactionStatus ":"C ","responseCode ":"0 ","responseDescription ":"성공 ","initiatedTimestamp ":"2016-09-19 00 : 00 : 00.0 ","elapsedTime ":"44400.0 ","clientApp ":"ServiceGateway ~ 368 ","clientIp ":"35.23.89.235 ","클러스터 ":"P27C ","httpMethod ":"POST ","requestURL ":"/ 테스트/CTN "}정규식

위의 문자열에 대한 정규 표현식을 작성해야합니다.

/^(?<eventtimestamp>)\|(?<TYPE>)\|(?<LOGLEVEL>)\|(?<IPaddress>)\|(?<HOSTNAME>)\| (?<message>.*)$/ 
+0

추천 [ '^ - (\ [\ D :] +?)? | (? [A-ZA-Z] +) \ (| [A-ZA-Z] +) \? | ( [. \의 D] +) \ (| [^ |]? +) \ |?. ( *) $ '(https://regex101.com/r/9go5f0/1) ? –

답변

0

t 당신이 regex demo

세부를 참조

^(?<eventtimestamp>[\d:. -]+)\|(?<TYPE>[a-zA-Z]+)\|(?<LOGLEVEL>[a-zA-Z]+)\|(?<IPaddress>[\d.]+)\|(?<HOSTNAME>[^|]+)\|(?<message>.*)$ 

을 사용할 수있는 날 것으로 보인다 :

  • ^ - 문자열/라인의 시작
  • (?<eventtimestamp>[\d:. -]+) - 1 개 + 숫자, :, . , 공백, -
  • \| - 리터럴 |
  • (?<TYPE>[a-zA-Z]+)\| - 1+ 문자와 |
  • (?<LOGLEVEL>[a-zA-Z]+)\| - 1+ 문자와 |
  • (?<IPaddress>[\d.]+)\| - 1 개 + 숫자 또는 .|
  • (?<HOSTNAME>[^|]+)\| - 1 + 문자 ||
  • (?<message>.*) - 0보다 큰 임의의 문자 -
  • $ - 문자열/줄의 끝입니다.