3
정규식을 사용하여 java의 문자열에서 날짜 및 기타 정보를 캡처하고 싶습니다. 내 패턴은 다음과 같이정규식에서 그룹으로 바깥 괄호 만 캡처하십시오.
I 그룹,
"((date_variation_1 | date_variation_2) (some_other_info)) "
그리고 지금, 나는이 같은 일치하는 문자열을 추출 할,
GROUP0 - 전체 경기
그룹 1 - 날짜
그룹 2 - 기타 정보
내 문제는 date_variation_1, date_variation_2 및 some_other_info에서 괄호를 내부적으로 사용해야하며 이러한 괄호도 그룹 구분선으로 취급된다는 것입니다.
괄호 대신 외부 그룹 구분 기호로 다른 특수 전세를 정의 할 수 있습니까?
date_variation_1 :
"(((?:Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday|Tues|Thur|Thurs|Sun|Mon|Tue|Wed|Thu|Fri|Sat))" // Day Of Week 1
+ "(\\s+)" // White Space 1
+ "((?:[0]?[1-9]|[1][012])[-:\\/.](?:(?:[0-2]?\\d{1})|(?:[3][01]{1}))[-:\\/.](?:(?:\\d{1}\\d{1})))(?![\\d])" // MMDDYY 1
+ "(\\s+)" // White Space 2
+ "((?:(?:[0-1][0-9])|(?:[2][0-3])|(?:[0-9])):(?:[0-5][0-9])(?::[0-5][0-9])?(?:\\s?(?:am|AM|pm|PM))?))"; // HourMinuteSec 1
또한 자바에서는 모든 것을 괄호로 묶지 않아도됩니다. 'group (0)'은 항상 전체 표현식과 일치하는 문자열을 얻습니다. –
@ palo-ebermann 알아,하지만 바깥 괄호를 정규식의 특정 부분과 일치 시키길 원합니다. 그 부분에있는 괄호까지도 그룹으로 간주됩니다. 어쩌면 당신은 내 질문에 약간 오해했을 것입니다. – carloscloud