日期:2014-05-20  浏览次数:20711 次

正则表达式如何匹配一段文本?
比如下面的文本:
“说明:发生的发送广告
电视公司共十多个”

有多段文本,我只想匹配“说明:”之后的一段文本,但下一段的文本是随机的(这里是“电视公司共十多个”),如何匹配?
我尝试写成这样的:
"说明:(.*)\\n"、"说明:(.*)\\r"都不能匹配,来获得文本“发生的发送广告”。
请教大家,应该如何实现?

------解决方案--------------------
不知道这样能不能满足你要求
Java code
import java.util.regex.*;
public class Test2 {
    public static void main(String... args){
        String str=
        "说明:发生的发送广告1\n"+
        "电视公司共十多个\n"+
        "说明:发生的发送广告2\n"+
        "电视公司共十多个\n"+
        "说明:发生的发送广告3\n"+
        "电视公司共十多个\n"+
        "说明:发生的发送广告4\n"+
        "电视公司共十多个\n";
        Pattern p=Pattern.compile("说明:([\\S]+)");    
        Matcher m=p.matcher(str);
        String temp;
        while(m.find()){
            temp=m.group(1);
            System.out.println(temp);
        }
    }
}

output:
发生的发送广告1
发生的发送广告2
发生的发送广告3
发生的发送广告4

------解决方案--------------------
Pattern p=Pattern.compile("说明:([\\S]+)"); //红色括号不要了
------解决方案--------------------
Pattern.compile("说明:([^\r\n]+)");