Java 用于检测标记的正则表达式

Java 用于检测标记的正则表达式,java,eclipse,Java,Eclipse,我正在尝试检测此文件中的所有段落: XML文件 为此,我使用了以下代码: Pattern p = Pattern.compile("<paragraph>\\s*?(.*?)\\s*?(.*?)\\s*?(.*?)</paragraph>"); Matcher m = p.matcher(ne); int occur = 1; while(m.find()) { System.out.print("Word = " +

我正在尝试检测此文件中的所有段落:

XML文件

为此,我使用了以下代码:

    Pattern p = Pattern.compile("<paragraph>\\s*?(.*?)\\s*?(.*?)\\s*?(.*?)</paragraph>");
    Matcher m = p.matcher(ne);
    int occur = 1;

    while(m.find()) {

        System.out.print("Word = " + ne.substring(m.start(), m.end())+"\n");        }


    }
Pattern p=Pattern.compile(“\\s*?(*?)\\s*?(*?)\\s*?(*?);
匹配器m=p.匹配器(ne);
int=1;
while(m.find()){
System.out.print(“Word=“+ne.substring(m.start(),m.end())+”\n”);}
}

问题是它只检测第一段。请帮忙?

这是一个使用commons lang的单行程序:

String[] paragraphs = StringUtils.substringsBetween(ne, "<paragraph>", "</paragraph>");
String[]段落=StringUtils.substrings介于(ne,“,”)之间;

梦想家,正如你所说。。。对于“简单java项目”:

//导入java.util.regex.Matcher;
//导入java.util.regex.Pattern;
StringBuilder text=新的StringBuilder();
正文。追加(“”);
文本。追加(“文本1 qwe”);
文本。追加(“文本2 qwe”);
text.append(“此文本不起作用”);
文本。追加(“文本3 qwe”);

text.append(“为什么不使用XML解析器呢?我不知道,因为它不是XML文件。它是一个分段文本,即使它不是,我也可以使用它吗?在我看来,它确实像XML(带有一些HTML-ish实体引用,可以处理)。如果它不是XML,“分段文本”是什么?你说的“分段文本”是什么意思“?它看起来像XML。那么如何使用它呢?XML解析器我试图使用一个与XML相关的代码,但它显示了一个错误,即表单不正确,它不是XMLMatt。这对一个简单的java项目不起作用,因为当我更改正则表达式([\\s\\s]*?)时,我必须导入我的代码,代码工作得很好,谢谢您的帮助!”!
//import java.util.regex.Matcher;
//import java.util.regex.Pattern;
StringBuilder text = new StringBuilder();
text.append("<html><something>");
text.append("<paragraph><Sentence>text 1 qwe</Sentence></paragraph>");
text.append("<paragraph><Sentence>text 2 qwe</Sentence></paragraph>");
text.append("<zzz>this text wont go</zzz>");
text.append("<paragraph><Sentence>text 3 qwe</Sentence></paragraph>");
text.append("</something></html");
System.out.println(text.toString());

Pattern p = Pattern.compile("<paragraph>(.*?)</paragraph>");
Matcher m = p.matcher(text.toString());

while (m.find()) {
    System.out.print("Word = " + m.group() + "\n");
}
<html><something><paragraph><Sentence>text 1 qwe</Sentence></paragraph>
<paragraph><Sentence>text 2 qwe</Sentence></paragraph><zzz>this text wont   
go</zzz><paragraph><Sentence>text 3 qwe</Sentence></paragraph></something>  
</html>
Word = <paragraph><Sentence>text 1 qwe</Sentence></paragraph>
Word = <paragraph><Sentence>text 2 qwe</Sentence></paragraph>
Word = <paragraph><Sentence>text 3 qwe</Sentence></paragraph>