c#网络应用编程基础第07章正则表达式与Internet操作.ppt
文本预览下载声明
第七章 正则表达式与Internet操作 7.1 正则表达式 7.2 Windows应用程序中嵌入Web浏览器 7.3 通过Internet搜索网络资源 7.1 正则表达式 正则表达式提供了功能强大、灵活而又高效的方法来处理文本。 正则表达式的全面模式匹配表示法使您可以快速分析大量文本以找到特定的字符模式;提取、编辑、替换或删除文本子字符串;或将提取的字符串添加到集合以生成报告。 对于处理字符串的许多应用程序而言正则表达式是不可缺少的工具。 7.1.1 正则表达式简介 正则表达式: 用某种模式去匹配指定字符串的一种表示方式。 正则表达式由普通字符和元字符组成。 普通字符: 常使用的字符如字母、数字、汉字等元字符:可以匹配某些字符形式的具有特殊含义的字符,其作用类似于DOS命令使用的通配符。 7.1.1 正则表达式简介(续) 正则表达式基本书写符号 正则表达式限定符 3. 匹配字符集 (1) 匹配字符集是预定义的用于正则表达式中的符号集。 (2) 如果字符串与字符集中的任何一个字符相匹配,它就会找到这个匹配项。 4. 分组构造 7.1.1 正则表达式简介(续) 5. 正则表达式举例 非负整数:“^\d+$ ” 正整数: “ ^[0-9]*[1-9][0-9]*$” 非正整数: “ ^((-\d+)|(0+))$” 整数: “ ^-?\d+$” 英文字符串: “ ^[A-Za-z]+$” 英文字符数字串: “ ^[A-Za-z0-9]+$” 英数字加下划线串: “^\w+$” E-mail地址:“^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$” URL:“^[a-zA-Z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\s*)?$” 7.1.2 Regex类 Regex 类表示不可变(只读)正则表达式类。它还包含各 种静态方法,允许在不显式创建其他类的实例的情况下使 用其他正则表达式类。 Regex 类在System.Text.RegularExpressions命名空间下。 这里仅介绍IsMatch方法。 IsMatch方法:正则表达式在输入字符串中是否找到匹配项。 该方法有四种重载的形式: public bool IsMatch(string str); 表示在构造函数中指定的正则表达式在str中是否找到匹配项。 public bool IsMatch(string str, int start); 表示在构造函数中指定的正则表达式在str的指定起始位置开始是否找到匹配项。参数start表示开始搜索的字符位置。 7.1.2 Regex类(续) public static bool IsMatch(string str, string pattern); 表示使用pattern参数中指定的正则表达式是否在str中找到匹配项。 public static bool IsMatch(string str, string pattern, RegexOptions options); 表示使用pattern参数中指定的正则表达式和options枚举提供的匹配选项在input中是否找到匹配项。其中options是RegexOption枚举值的按位“或”组合。 7.1.2 Regex类(续) 例: Regex r = new Regex(@[0-9a-z]{3,5}); string[] tests = {abc, 123456, (aa22bb33), ab}; foreach (string test in tests) { if (r.IsMatch(test)) { Console.WriteLine({0}中有匹配的项, test); } else { Console.WriteLine({0}中没有匹配的项, test); } } 7.1.2 Regex类(续) 【例7-1】编写一个Windows应
显示全部