在C#中如何使用正式表达式获取匹配所需数据
需求:获取一串字符串中,正则匹配出需要的数据。 例如以下字符串: string temp ="ErrorCode:-1,Message:{"UserId" : "1000","userName" : "ZhangSan"}"; 我需要获得“-1”和“{"UserId" : "1000","userName" : "ZhangSan"}”; 接下来,就使用正则去匹配: using System.Text.RegularExpressions; string temp = "ErrorCode:-,Message:{"UserId" : "","userName" : "ZhangSan"}"; Regex reg = new Regex("ErrorCode:(?<key>.*?),Message:{(?<key>.*?)}"); Match match = reg.Match(temp); string tempStr = match.Groups["key"].Value + "--" + match.Groups["key"].Value; MessageBox.Show(tempStr); 这时候tempStr得到的是”-1--{"UserId" : "1000","userName" : "ZhangSan"}“ 下面给大家分享一段代码有关C#中使用正则表达式自动匹配并获取所需要的数据 正则表达式能根据设置匹配各种数据(比如:e-mail地址,电话号码,身份中号码等等)。正则表达式功能强大,使用灵活,C#,Java,JavaScript等多种语言都支持正则表达式。在互联网上“抓取数据”更是少不了使用正则表达式。今天我要说的是在C#中使用正则表达式自动匹配并获取所需要的数据。 从下面是某个IP查询网站返回查询结果的一个部分(字符串),现在就是要从这个字符串中获取“查询结果1:”后面的“北京市 网通”。 < td align ="center" >< ul >< li > 查询结果1:北京市 网通 </ li >< li > 查询结果2:北京市 网通 </ li >< li > 查询结果3:北京市 网通 </ li ></ ul ></ td > C#相关代码如下: string srcString = " <td align= " center " ><ul><li>查询结果1:北京市 网通</li><li>查询结果2:北京市 网通</li><li>查询结果3:北京市 网通</li></ul></td> " ; // 匹配 "<li>查询结果1:" 与 "</li>" 之间的所有字符的正则表达式 string regexStr = " <li>查询结果1:(?<key>.*?)</li> " ; Regex r = new Regex(regexStr,RegexOptions.None); Match mc = r.Match(srcString); string dataStr = mc.Groups[ " key " ].Value; 说明: 这里最关键的是设置正则表达式: " <li>查询结果1:(?<key>.*?)</li> "。
dataStr 就是我们要得的数据:“北京市 网通”。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 走近Flex组件系列(六):使用Form、FormHeading、
- Oracle时间戳列不能命名为TIMESTAMP否则会报错
- Cocos2d-js jsb native 运行嵌套proto文件读取失
- 深入剖析:认识Oracle 中的 NULL 值
- ruby-on-rails – RoR中的视图和布局有什么区别?
- reactjs入门专题(1)
- c# – Kestrel在https与asp.net core 1.0
- persistence.xml中hibernate.jdbc.fetch_size和h
- File opened that is not a database file file
- cocos2d-x 3.6连连看源码发布