开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 15050|回复: 4
收起左侧

[C#作业] 第二十一天作业

[复制链接]
发表于 2019-4-27 15:36:17 | 显示全部楼层 |阅读模式   广东省揭阳市

今日主要学习内容

21.1 正则表达式简介 及 常用元字符
21.2 正则表达式 - 反义元字符 特殊元字符 限定符
21.3 正则表达式 - 懒惰限定符 - 贪婪模式与非贪婪模式
21.4 正则表达式 - 分组匹配
21.5 正则表达式 - C#中正则的使用 单行模式 多行模式 忽略大小写 分组等..
21.6 正则表达式- 字符串分割 以及 替换

今日作业:

  1. 懒惰限定符的作用是什么?

  2. 编写一个能够正确匹配邮箱的正则

  3. 使用正则获取下列网站中的新闻列表的所有图片路径?

    http://slide.sports.sina.com.cn/golf/

点评

突然想到个问题,C#里面函数传递参数可空怎么写   江苏省南京市  发表于 2019-6-8 16:56

评分

参与人数 1好评 +1 精币 +2 收起 理由
qingshanlushui + 1 + 2 新技能已get√

查看全部评分

发表于 2019-6-27 23:01:50 | 显示全部楼层   湖南省长沙市

今日作业:
1.懒惰限定符的作用是什么?
匹配任意数量的重复,但是在能使整个匹配成功的前提下使用最少的重复.
2.编写一个能够正确匹配邮箱的正则
^[a-zA-Z0-9-]+@[a-zA-Z0-9-]+(.[a-zA-Z0-9_-]+)+$
3.使用正则获取下列网站中的新闻列表的所有图片路径?
http://slide.sports.sina.com.cn/golf/

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;

namespace 第二十一课正则表达式 {
    class Program {
        static void Main (string[] args) {
            string str = File.ReadAllText (@"E:\常用工具\notepad++\论坛C#作业\第二十一天作业_高尔夫图片.html");
            string regexStr = @"<dd>(?<pics>http.+?w50hdp.jpg)</dd>\s+<dd>(?<picm>http.+?w160h120hdp.jpg)</dd>\s+<dd>(?<picl>http.+?w500hdp.jpg)</dd>";
            MatchCollection mc = Regex.Matches (str, regexStr);
            foreach (Match item in mc) {
                if (item.Success) {
                    System.Console.WriteLine (item.Groups["pics"].Value);
                }
            }
        }
    }
}

评分

参与人数 1好评 +1 精币 +10 收起 理由
老郭 + 1 + 10 很赞同,谢谢!

查看全部评分

回复 支持 反对

使用道具 举报

结帖率:100% (1/1)
发表于 2019-6-8 16:41:33 | 显示全部楼层   江苏省南京市

1、懒惰限定符的作用是什么?
在使整个表达式能得到匹配的前提下,匹配尽可能短的字符。在重复的非常工整文本中非常实用

2、编写一个能够正确匹配邮箱的正则
^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+\.com

3、使用正则获取下列网站中的新闻列表的所有图片路径?
http://slide.sports.sina.com.cn/golf/


string str = File.ReadAllText(@".\高尔夫.html");
string regStr = @"<dd>(?<pics>http.+?w50hdp.jpg)</dd>\s+<dd>(?<picm>http.+?w160h120hdp.jpg)</dd>\s+<dd>(?<picl>http.+?w500hdp.jpg)</dd>";
MatchCollection mc = Regex.Matches(str, regStr);
foreach (Match item in mc){
        if (item.Success) {
                Console.WriteLine(item.Groups["pics"].Value);
                Console.WriteLine(item.Groups["picm"].Value);
                Console.WriteLine(item.Groups["picl"].Value);
        }
}

评分

参与人数 1好评 +1 精币 +10 收起 理由
老郭 + 1 + 10 可空参数在参数中给定默认值 如 Fun(int num =0)

查看全部评分

回复 支持 反对

使用道具 举报

发表于 2019-4-28 13:13:15 | 显示全部楼层   江苏省扬州市
本帖最后由 qingshanlushui 于 2019-4-28 13:14 编辑


1、懒惰限定符的作用是什么?
在使整个表达式能得到匹配的前提下。。匹配尽可能短的字符。。

2、编写一个能够正确匹配邮箱的正则
^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+\.[a-zA-Z0-9_-]+$

3、使用正则获取下列网站中的新闻列表的所有图片路径?

http://slide.sports.sina.com.cn/golf/

小图:<dd>(?<pics>http.+?w50hdp.jpg)</dd>
中图:<dd>(?<picm>http.+?w160h120hdp.jpg)</dd>
大图:<dd>(?<picl>http.+?w500hdp.jpg)</dd>
不分类:<dd>(?<pic>http.+?)</dd>
换行:(不加换行符就可以匹配。。)</dd>\s+<dd>
同一图片大小中放一起:<dd>(?<pics>http.+?w50hdp.jpg)</dd>\s+<dd>(?<picm>http.+?w160h120hdp.jpg)</dd>\s+<dd>(?<picl>http.+?w500hdp.jpg)</dd>

c#格式:
            string str = File.ReadAllText(@".\作业.html");
            string regStr = @"<dd>(?<pics>http.+?w50hdp.jpg)</dd>\s+<dd>(?<picm>http.+?w160h120hdp.jpg)</dd>\s+<dd>(?<picl>http.+?w500hdp.jpg)</dd>";

            MatchCollection mc = Regex.Matches(str, regStr);
            foreach (Match item in mc)
                {
                    if (item.Success) {
                        Console.WriteLine(item.Groups["pics"].Value);
                  Console.WriteLine(item.Groups["picm"].Value);
                  Console.WriteLine(item.Groups["picl"].Value);
                    }
                }

评分

参与人数 1好评 +1 精币 +3 收起 理由
老郭 + 1 + 3 很赞同,谢谢!

查看全部评分

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 诚聘英才| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 800073686,邮箱:800073686@b.qq.com
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表