我目前正在从事大学作业,并且有一个(很可能很简单)关于正则表达式/正则表达式的问题。
总结;这个任务是一个简单的 RSS 提要管理器,它使用 JSP 和一个 RESTful Web 服务。
我目前正在研究作业规范的一部分,该部分要求我能够输入 XML 提要数据(例如 <feeds><feed><name>FEED NAME</name><uri>http://FEEDuri/</ uri></feed></feeds> etc..)并从这些数据中,通过正则表达式提取 FEED NAME 和 FEEDuri。
我的讲师为我们提供了一个基本的工作方法,我认为我已经在我的 RESTful Web 服务中正确地实现了它,现在我正在实现错误处理。
对于用户没有数据输入的情况,我已经成功实现了错误处理。我的问题是:基于示例方法(如下),是否可以针对提要格式输入不正确的情况实施错误处理
eg:< fed> FEED NAME < /fiid> < uro>http://FEEDuri< /pro>
这里的 XML 标签显然是不正确的。
正则表达式是否只会从字符串中提取组,如果它位于作为参数传递给编译方法的定义值之间?
为了补充我的问题,这是给我们使用的基本方法(而不是 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;
}