C#中,使用正式表达式匹配获取所需数据

.NET中,使用正式表达式匹配获取所需数据

需求:获取一串字符串中,正则匹配出需要的数据。

例如以下字符串:

string temp ="ErrorCode:-1,Message:{"UserId" : "1000","userName" : "ZhangSan"}";

我需要获得“-1”和“{"UserId" : "1000","userName" : "ZhangSan"}”;

接下来,就使用正则去匹配:

using System.Text.RegularExpressions;

string temp = "ErrorCode:-1,Message:{\"UserId\" : \"1000\",\"userName\" : \"ZhangSan\"}";
Regex reg = new Regex("ErrorCode:(?<key1>.*?),Message:{(?<key2>.*?)}");
Match match = reg.Match(temp);
string tempStr = match.Groups["key1"].Value + "--" + match.Groups["key2"].Value;

MessageBox.Show(tempStr);

这时候tempStr得到的是”-1--{"UserId" : "1000","userName" : "ZhangSan"}“

时间: 2024-10-18 18:17:45

C#中,使用正式表达式匹配获取所需数据的相关文章

分析html格式数据,根据正则表达式获取所需数据,并存入数据库

例子为获取<dl>中的<dt></dt><dd></dd>中的内容,由于在<dt></dt>标签中还存在<a>标签,所有会一同举例说明.第一次做不够优化,共同学习. <!DOCTYPE html> <html> <head> <title><title> </head> <body> <dl class="hel

linq+lambda+delegate,从list中查找到满足匹配条件的所有数据索引值

linq的扩展方法中有FindIndex,FindLastIndex两个方法可以查找满足条件的首个和最后一个数据的索引值,利用delegate将匹配条件的方法传入FindAllIndex,查找满足匹配条件的所有索引返回 /// <summary> /// 返回list内所有满足where条件的元素的索引 /// </summary> public static List<int> FindAllIndex<T>(this List<T> list

读取文件信息,并通过sscanf从中获取所需数据

#include <stdio.h> #include <stdlib.h> #include <string.h> int file_length(char* fileName) { FILE* fp; int file_set_val,file_end_val; fp = fopen(fileName, "r"); if(fp == NULL) { printf("[%s][%s]read file fail\r\n",__L

struts2入门之struts2获取表单数据

在上一篇博文中分享了action如何获取表单数据,在本篇博文中分享一下用struts2这个框架如何来获取表单数据. struts2获取表单数据可以分为三种方式: 1.属性封装 2.模型驱动封装 3.表达式封装 分别介绍以上三种方式: 属性封装的步骤:首先在action中定义成员变量,并写set方法(这里为了避免和后面的混淆,把get和set方法都写上得了),然后该action要访问的form表单中的属性值要和定义的成员变量名称一样,在action访问到jsp页面时,form表单中的数据都已经拿到

在C#中使用正则表达式自动匹配并获取所需要的数据

转自:http://my.oschina.net/bv10000/blog/111736 正则表达式能根据设置匹配各种数据(比如:e-mail地址,电话号码,身份中号码等等).正则表达式功能强大,使用灵活,C#,Java,JavaScript等多种语言都支持正则表达式.在互联网上“抓取数据”更是少不了使用正则表达式.今天我要说的是在C#中使用正则表达式自动匹配并获取所需要的数据. 从下面是某个IP查询网站返回查询结果的一个部分(字符串),现在就是要从这个字符串中获取“查询结果1:”后面的“北京市

利用栈判断输入的表达式中的括号是否匹配(假设只含有左、右括号)

利用栈判断输入的表达式中的括号是否匹配(假设只含有左.右括号) bool Match(char exp[],int n) { int i=0; char e; bool match=true; SqStack *st; InitStack(st);//初始化栈 while(i<n && match)//扫描exp中所有字符 { if(exp[i]=='(')//当前字符为左括号,将其进栈 Push(st,exp[i]); else if(exp[i]==')')//当前字符为右括号

SSH 框架controller向jsp传递List jsp中使用el表达式获取

mvc可以使用ModelAndViev传递数据选择跳转的视图 controller中的代码, 把一个模拟的表单studentListSimulate传给ModelAndView @RequestMapping("/detial") public Model showStudentDetial(Model mod) { ModelAndView mav = new ModelAndView(); mav.addObject("studentListSimulate",

not(expr|ele|fn)从匹配元素的集合中删除与指定表达式匹配的元素

not(expr|ele|fn) 概述 从匹配元素的集合中删除与指定表达式匹配的元素 参数 exprStringV1.0 一个选择器字符串.深圳dd马达 elementDOMElementV1.0 一个DOM元素 function(index)FunctionV1.4 一个用来检查集合中每个元素的函数.this是当前的元素. 示例 描述: 从p元素中删除带有 select 的ID的元素 HTML 代码: <p>Hello</p><p id="selected&quo

JS正式表达式大全

正则表达式中的特殊字符 字符 含意 \ 做为转意,即通常在"\"后面的字符不按原来意义解释,如/b/匹配字符"b",当b前面加了反斜杆后/\b/,转意为匹配一个单词的边界. -或- 对正则表达式功能字符的还原,如"*"匹配它前面元字符0次或多次,/a*/将匹配a,aa,aaa,加了"\"后,/a\*/将只匹配"a*". ^ 匹配一个输入或一行的开头,/^a/匹配"an A",而不匹配&q