c# 正则表达式怎么匹配多行数据,如图:

怎么正则匹配得到红线框里的内容?... 怎么正则匹配得到 红线框里的 内容? 展开
 我来答
syht2000
高粉答主

2013-10-11 · 关注我不会让你失望
知道大有可为答主
回答量:3万
采纳率:79%
帮助的人:1.4亿
展开全部
string str="这里是你的文本";
Regex re = new Regex("\\<div class=\"abc\"\\>.*?\\</div\\>", RegexOptions.Singleline);
MatchCollection mc = re.Matches(str);
foreach (Match ma in mc)
{
//ma就是每个匹配项
}
shelher
推荐于2018-03-20 · TA获得超过6134个赞
知道大有可为答主
回答量:3609
采纳率:100%
帮助的人:6252万
展开全部
var text = "这里是你的文本内容";
var matches = Regex.Matches(text, @"<div class=""abc"">[\s\S]+?</div>");
foreach (Match match in matches)
{
var yourWant = match.Value.ToString();
}
追问
Regex.Matches 里为什么 要用@ 呢?用@ 不是取消转义么? 不过没用@ 又提示\s 转义符无效;

还有string =@"[\s|\S]*" 里面的 \s 不在Regex.Matches 里 还是转义符么?
追答
添加@的原因很简单,如果不添加那么\s就要写成\\s,添加后就可以不用写两个\\了

string =@"[\s|\S]*" 里面的 \s ,如果不用在正则匹配中,那么它不是转义符,也就是说:

用于正则匹配中,它代表一个不可见字符,不用在正则匹配,则表示正常的\s
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式