그래서 여기 내 당황이다 : 정규식을 반복 일치와 옵션 그룹을 포함하는 모든 그룹
^.*System(.*)(\d{4}-\d{2}-\d{2})?\.log
내가 괄호 안에이 옵션 그룹 (날짜)와 일치하는 정규 표현식을 필요가.
그러나이 그룹은 선택 사항이며
.+
은 "열심히"이므로 날짜 그룹은 경기에 절대 참여하지 않습니다. 그래서 나는이 같은 일을 일치하도록 노력하고 있어요 :
/var/log/ws/SystemOut.appserver204.log
/var/log/ws/SystemOut.appserver204.2014-10-22.log
/var/log/ws/SystemErr.appserver208.log
/var/log/ws/SystemErr.appserver212.2014-11-12.log
그러나, 항상 선택 사양 일 그룹의 결과로, .log
까지 모든 것을 차지 첫 번째 그룹, (.+)
는, 결코 경기에 참여하지 않는다. 그룹을 선택 사항으로 만들지 않으면 날짜를 포함하기 시작하지만 위에서 언급 한 두 가지 경우는 일치하지 않습니다.
내가 성취하고자하는 일을 어떻게 할 수 있습니까? (참조 용으로 Java로 작업 중입니다.)
그래서 날짜를 반환해야합니까? – Khanna111
@ Khanna111 날짜뿐 아니라 모든 것이 일치해야하지만 날짜가 있으면 일치해야합니다. 그렇지 않다면 빼주세요. 머리가 머리에 못을 박았다. –