正则表达式怎么匹配一段文本
正则表达式如何匹配一段文本?
比如下面的文本:
“说明:发生的发送广告
电视公司共十多个”
有多段文本,我只想匹配“说明:”之后的一段文本,但下一段的文本是随机的(这里是“电视公司共十多个”),如何匹配?
我尝试写成这样的:
"说明:(.*)\\n"、"说明:(.*)\\r"都不能匹配,来获得文本“发生的发送广告”。
请教大家,应该如何实现?
------解决方案--------------------
不知道这样能不能满足你要求
比如下面的文本:
“说明:发生的发送广告
电视公司共十多个”
有多段文本,我只想匹配“说明:”之后的一段文本,但下一段的文本是随机的(这里是“电视公司共十多个”),如何匹配?
我尝试写成这样的:
"说明:(.*)\\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]+)");