我们要分析网页,把整个网页内容作为匹配源,但是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# 正则表达式如何处理换行符?的更多相关文章

  1. 在Visual Studio中使用正则表达式匹配换行和批量替换

    系统环境:Windows 8.1 Enterprise Update 2 x64 开发环境:Mircosoft Visual Studio Ultimate 2013 Update 2 RC 问题:如 ...

  2. python3 正则表达式点星问号(.*?)能不能匹配换行符?不能的话应该怎么写

    python3的re模块使用过程中,正则的书写遇到了一些问题,就是使用.*?能不能匹配到换行符的问题. 答案是不能. 如果在匹配过程中遇到了也没关系,加上这个语句就好: \s+

  3. js-textarea文本换行符处理,Java后端以及js前端如何处理

    方法一:后台处理 TextArea的换行符处理 TextArea文本转换为Html:写入数据库时使用 js获取了textArea的文本内容之后,器内容含有换行,空格,制表符之类的字符,但是js字符串不 ...

  4. php正则表达式过滤空格 换行符 回车

    我整理了几个比较适合的实例了,对于它们我们是有很多站长都测试过并用过了,不过文章最后我的总结也是生重要的哦,至于原因我也说不上了,因为chr是ascii编码了所以有时浏览器会自动转成ascii,特别像 ...

  5. PHP正则表达式模式修饰符详解

    PHP模式修饰符又叫模式修正符,是在正则表达式的定界符之外使用.主要用来调整正则表达式的解释,提扩展了正则表达式在匹配.替换等操作的某些功能,增强了正则的能力.但是有很多地方的解释都是错误的,也容易误 ...

  6. Java经典实例:在文本中匹配换行符

    默认情况下,正则表达式 ^ 和 $ 忽略行结束符,仅分别与整个输入序列的开头和结尾匹配.如果激活 MULTILINE 模式,则 ^ 在输入的开头和行结束符之后(输入的结尾)才发生匹配.处于 MULTI ...

  7. Linux文件和windows文件在 换行符的区别

    Linux或Unix文件,和windows文件,在来回处理时,如果不注意 换行符的区别,可能导致程序错误!!!深刻的教训.... 在早期的打印机时代,开始新的一行要占用两个字符的时间.如果到了一行的结 ...

  8. 在使用easyui,datagrid时,JSON中的如果含有换行符,则不能显示数据

    http://www.xuebuyuan.com/2103538.html 每项值需处理换行符 item = item.Replace("\r\n", ""); ...

  9. textarea 中的换行符问题

    下面是我对这个问题的解决过程,最后算是完全搞懂了,真是阴沟里险些翻船 1.必须知道textarea中的换行符是 \n  (个人检测发现按回车键是\n,好像在linux下是\r\n) 2.用nl2br之 ...

随机推荐

  1. Codeforces 817C Really Big Numbers - 二分法 - 数论

    Ivan likes to learn different things about numbers, but he is especially interested in really big nu ...

  2. 动态规划之140 Word Break2

    这是一题不太明显的动态规划,主要考察的应该是深度优先搜索. static LinkedList<String> list = new LinkedList<String>(); ...

  3. android studio设计模式和文本模式切换

  4. topcoder srm 708 div1 -3

    1.定义一个字符串s,定义函数$f(s)=\sum_{i=1}^{i<|s|}[s_{i-1}\neq s_{i}]$,给定字符串$p,q$,定义函数$g(p,q)=\sum_{c='a'}^{ ...

  5. 几道cf水题

    题意:给你包含n个元素的数组和k种元素,要求k种元素要用完,并且每种颜色至少用一次,n个元素,如果某几个元素的值相同,这些个元素也不能染成同一种元素. 思路:如果元素个数n小于k或者值相同的元素的个数 ...

  6. P2519 [HAOI2011]problem a

    思路 神仙思路,就差一步就能想出来了... 看到第i个人给出的条件,发现有\(a_i\)个大于,\(b_i\)个小于并不好处理 考虑把条件转化成第i个人对应的排名处理,设第i个人的排名为\(a_i+1 ...

  7. 论文阅读:Learning Visual Question Answering by Bootstrapping Hard Attention

    Learning Visual Question Answering by Bootstrapping Hard Attention Google DeepMind  ECCV-2018   2018 ...

  8. (转载)Unity里实现更换游戏对象材质球

    在unity中本来想实现在一个背景墙上更换图片的功能 在网上查了一些资料说是用Image,但我是新手小白刚接触Unity不久好多组建还不会用,就想能不能通过改变游戏对象的材质球来更换游戏对象的背景. ...

  9. 【OData】使用Odata获取数据之后再次获取可能得不到最新的数据问题记录

    工作上遇到个问题是关于系统后台数据库更新了某数据后, 前台界面刷新显示的不是最新的数据.但是大约10分后再次刷新就能显示新的数据,或者重启IIS等web server host. 最开始认为可能是因为 ...

  10. Python示例

    http request:put # 定义函数:refresh segement # curl -X PUT -s --user "****:*****" -H 'Content- ...