하나의 큰 문자열에서 하위 문자열을 추출하려고합니다. 추출 된 하위 문자열은 다음 규칙을 따라야합니다. 1. 두 개의 큰 따옴표 사이 (예 : "hello \"jonathan \ "how are you")는 "큰 따옴표"없이 "jonathan"을 추출합니다.정규식 다중 따옴표 선택
작은 따옴표로만 표시됩니다.
작은 따옴표는 큰 따옴표로 묶은 일반 문자로 간주됩니다. (예 : 오늘 "안녕하세요"Jonathan 님, "오늘 어떠세요")이 하위 문자열을 추출합니다. "Jonathan How '는'큰 따옴표없이 '입니다. 이 예에서,
Pattern p1 = Pattern.compile("([\"]*[\']*[\']*[\"])");
이 하나 하나 문제 (NUM 3) 해결 :
String s = "Hello \"Jon\'hello\'athan\" how are 'you'"
그것은 추출물
을한다Jon'hello'athan
같은 omething : 패턴에
([\'])|[\"])
, 그것이 전체 패턴처럼 취급 당신은 무엇을 추천 할 것입니다
([\'])|[\"])
을했다? 에,
(['"])((?:(?!\1).)*)\1
나 : 는만큼 당신이 탈출 따옴표 처리 할 필요가 없습니다 당신에게
너무 빨리 답변 해 주셔서 감사합니다. Jon'hello'athan "나는 – johni
user3454745 @ 싶습니다 : 내가이 실행할 때 이 내가 무엇을 얻을입니다 ... 사실은 나를 위해 작동하지 않았다 당신의 두 번째 그룹을 취할 필요를' Matcher' 객체 ('.find()'를 수행 한 후) :'myMatcher.group (2)'는'Jon'hello'athan'을 포함합니다. –