현재 대학 과제를 진행하고 있으며 정규 표현식에 관한 (가장 간단한) 질문이 있습니다.자바 - 정규식 입력 오류 처리
요약하면; 이 할당은 JSP 및 RESTful 웹 서비스를 사용하는 간단한 RSS 피드 관리자입니다.
나는 현재 (예 <이 > < 공급 > < 이름 > 피드 이름 </이름 > <URI> HTTP 피드 입력 XML 피드 데이터를 수 있도록 저를 필요로하는 과제 사양의 섹션 일하고: // FEEDuri/</uri > </feed > </feeds > 등 ..) 그리고이 데이터에서 정규식을 통해 FEED NAME & FEEDuri를 추출하십시오.
강사가 근본적인 방법을 제공해 주셨고, RESTful 웹 서비스에서 제대로 구현했다고 생각합니다. 이제 오류 처리를 구현하고 있습니다.
사용자가 입력 한 데이터가없는 경우 오류 처리를 성공적으로 구현했습니다. 내 질문은 이것이다 : (아래)의 예 방법에 따라 , 그것은 피드 형식 입력이 잘못된 경우 경우에 대한 오류 처리를 구현할 수
예 : 여기 < fed> FEED NAME < /fiid> < uro>http://FEEDuri< /pro>
XML 태그가 분명히 잘못되었습니다.
정규식은 문자열에서 그룹을 가져옵니다. 정의 된 값 사이에있는 경우 IF는 인수로 전달되어 컴파일 메서드에 전달됩니까?
내 질문을 보완하기 위해, 여기에 기본 (대신 XML 파서의)를 사용하여 우리에게 주어진 방법 :public static List<Feed> getFeedsFromXml(String xml) {
Pattern feedPattern = Pattern.compile("<feed>\\s*<name>\\s*([^<]*)</name>\\s*<uri>\\s*([^<]*)</uri>\\s*</feed>");
Matcher feedMatch = feedPattern.matcher(xml);
while (feedMatch.find()) {
String feedName = feedMatch.group(1);
String feedURI = feedMatch.group(2);
feeds.add(new Feed(feedName, feedURI));
}
return feeds;
}
우수 답변 - 매우 도움이되었습니다. 친절하게 감사드립니다. – AlexM