`
hslh22
  • 浏览: 78172 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

c# 正则表达式如何处理换行符(网页)

    博客分类:
  • C#
阅读更多

我们要分析网页,把整个网页内容作为匹配源,但是c#的正则表达式是默认以一行为单位的,使用 RegexOptions.Multiline 也没有实质性作用(它知识改变了^和$的行为)

 

只要在正则表达式前面加上(?s)这个选项即可

 

考资料:http://hi.baidu.com/hetaoos/blog/item/7936a80faec513e9ab6457b8.html

 

string s = ".......";
string r = @"(?s)(?i)导演:\s*</span>\s*<span\s+class=""m_c"">\s*<span><a.*?>(?<director>.*?)</a>";
string t = Regex.Match(s, r).Groups["director"];
Console.WriteLine(t);
// (?s) 点号匹配一切字符(含换行符)
// (?i) 进行不区分大小写的匹配
// (?<name>...) 命名捕获
  
  
            Regex r = new Regex("(?s)(?i)id=\"__VIEWSTATE\" value=\"(?<__VIEWSTATE>[^\"]+)\" />.+" +
                "<span id=\"lbinfo\">(?<lbinfo>[^<]+)</span>.+" +
                "<span id=\"lbIP\">(?<lbIP>[^<]+)</span>.+" +
                "<span id=\"lbuserid\">(?<lbuserid>[^<]+)</span>.+" +
                "<span id=\"lbRealName\">(?<lbRealName>[^<]+)</span>.+" +
                "<span id=\"lbRemainMoney\">(?<lbRemainMoney>[^<]+)</span>.+" +
                "<span id=\"lbFreshTime\">(?<lbFreshTime>[^<]+)</span>.+" +
                "<span id=\"LNowState\">(?<LNowState>(开放|关闭)IP成功).+</span>.+" +
                "id=\"__EVENTVALIDATION\" value=\"(?<__EVENTVALIDATION>[^\"]+)\" />", RegexOptions.Compiled);
分享到:
评论

相关推荐

    正则表达式测试工具C#版(src)

    - 基本元字符:如`.`(匹配任意字符,除换行符)、`^`(匹配行首)、`$`(匹配行尾)、`\d`(匹配数字)、`\w`(匹配字母数字下划线)等。 - 量词:`*`(零个或多个)、`+`(一个或多个)、`?`(零个或一个)、`{n...

    c# 正则表达式生成工具 源代码

    -imsx)`可以临时关闭全局的匹配选项,如i(忽略大小写)、m(多行模式)、s(点号`.`匹配所有字符,包括换行符)、x(忽略空白字符)。 8. **自定义正则表达式生成**:这个工具可能包含了生成复杂正则表达式模式的...

    C#正则表达式语法大全

    C#正则表达式语法大全涵盖了在C#编程语言中使用正则表达式进行...掌握C#正则表达式语法大全对于进行文本处理和数据验证是十分有帮助的。通过对正则表达式的熟练使用,可以使许多原本复杂的文本处理任务变得简单高效。

    C#正则表达式完全手册

    使用 `\n` 来匹配换行符(LF,即 ASCII 0x0A),`\r` 匹配回车符(CR,即 ASCII 0x0D),但需要注意,`\r` 并不等同于换行符 `\n`。 在正则表达式中,可以选择使用转义字符来表示某些控制字符。例如,`\e` 用于匹配...

    强大的正则表达式生成工具 C#版

    C#作为.NET框架的一部分,提供了全面支持正则表达式的类库,使得开发人员能够方便地利用正则表达式进行复杂的文本处理任务。在这个“强大的正则表达式生成工具 C#版”中,我们可以期待一个专为C#开发者设计的高效、...

    C#正则提取中文

    ### C#正则表达式提取中文 在C#中,`System.Text.RegularExpressions`命名空间提供了`Regex`类,该类是执行正则表达式操作的核心。`Regex`类包含了许多静态方法,如`Matches`、`Match`、`Split`等,这些方法可以...

    C#正则表达式(包括数字、汉字和英文的等等)

    C#正则表达式支持一些预定义的字符类,如`\w`代表单词字符(等同于`[a-zA-Z0-9_]`),`\s`代表空白字符(如空格、制表符等)。 6. **量词**: - `*`:匹配前面的子表达式零次或多次。 - `+`:匹配前面的子表达式...

    C#正则表达式语法

    C#中的正则表达式是一种强大的文本处理工具,它允许程序员通过特定的语法来匹配、查找、替换或者解析复杂的字符串模式。正则表达式在C#中被广泛应用于数据验证、文本提取、日志分析等多个场景。 在C#中,正则表达式...

    C#正则表达式测试工具,传统NFA引擎

    这个压缩包文件包含了一个基于C#的正则表达式测试工具,该工具利用了C#正则表达式的传统非确定性有限自动机(NFA)引擎。 C#的正则表达式API提供了丰富的功能,包括但不限于以下几点: 1. **模式匹配**:可以使用`...

    详细的C#正则表达式基础教程

    - `RegexOptions.Singleline`:单行模式,`.`能匹配包括换行符在内的所有字符。 通过学习这些基础知识和实例应用,你将能够熟练地在C#项目中使用正则表达式来处理各种字符串操作。不断实践和理解这些概念,将使你...

    C#正则表达式.zip

    - `.`:匹配任何非换行符的字符。 - `^`:匹配输入字符串的开始位置。 - `$`:匹配输入字符串的结束位置。 - `\b`:匹配单词边界。 - `\d`:匹配任何数字(等同于`[0-9]`)。 - `\D`:匹配任何非数字字符(等同于`[^...

    C# 正则表达式总结_V2

    三、C#正则表达式常用方法 1. `Match`:检查输入字符串是否符合指定的正则表达式模式。 2. `Matches`:返回所有符合正则表达式的子串集合。 3. `Replace`:将字符串中所有符合正则表达式的子串替换为新的字符串。 4....

    C#字符串和正则表达式参考手册

    2. 正则表达式对象:在C#中,使用`System.Text.RegularExpressions`命名空间下的`Regex`类来处理正则表达式。 3. 匹配操作:`Match`对象表示正则表达式与输入字符串的一个匹配。`Regex.IsMatch(input, pattern)`...

    C#正则表达式整理备忘(PDF格式)

    以上示例展示了如何使用定位字符来精确控制匹配的位置,特别是在处理包含换行符的多行文本时。通过使用`RegexOptions.Multiline`选项,可以使`^`和`$`分别匹配每一行的开始和结束,而不仅仅是整个字符串的开始和结束...

    c#正则表达式整理验证数据和邮箱

    以上内容涵盖了C#正则表达式的基本使用、关键方法以及在验证数据和邮箱格式时的应用。通过熟练掌握这些知识点,开发者可以更高效地处理字符串和实现数据的合法性验证。在实际编程中,应结合具体需求灵活运用正则...

    01C#正则表达式基础教程.doc

    本教程旨在为C#开发者提供正则表达式的基础知识,帮助理解正则表达式的概念、语法和常见用途。通过学习,你将能够编写和使用正则表达式进行文本匹配、验证和处理。 2. **如何使用本教程** 本教程适合对正则表达式...

    超好用的正则表达式可视化调试工具

    正则表达式的基本元素包括字符集(如[a-z]表示小写字母)、量词(如*表示零个或多个前面的字符)、定位符(如^表示行首,$表示行尾)以及组合这些元素的特殊结构,如括号用于分组,管道符|表示或操作等。而这款工具...

Global site tag (gtag.js) - Google Analytics