c# 这个正则怎么写?(初学,很简单的)

result="success"id="899"name="王昌和"我需要提取出result信息,id信息,name信息,但是我不知道正则表达式的语法,请师兄指点!~... result="success" id="899" name="王昌和"

我需要提取出result信息,id信息,name信息,但是我不知道正则表达式的语法,请师兄指点!~
展开
 我来答
百度网友1d49de6
2010-09-03 · TA获得超过133个赞
知道答主
回答量:21
采纳率:0%
帮助的人:42.3万
展开全部
C#正则表达式可以很容易完成这样的任务,如下程序能够完成你的要求

using System;
using System.Collections.Generic;
using System.Text;
using System.Text.RegularExpressions;
class Program
{
static void Main(string[] args)
{
string inputString = "result=\"success\" id=\"899\" name=\"王昌和\"";

Regex myRegexResult = new Regex("result=\"([^\"]*)\"");
Regex myRegexID = new Regex("id=\"([^\"]*)\"");
Regex myRegexName = new Regex("name=\"([^\"]*)\"");

string result = myRegexResult.Match(inputString).Groups[1].Value;
string id = myRegexID.Match(inputString).Groups[1].Value;
string name = myRegexName.Match(inputString).Groups[1].Value;

Console.WriteLine(result);
Console.WriteLine(id);
Console.WriteLine(name);

Console.Read();
}
}

有关C#使用正则表达式的更多细节,可以参看
http://hi.baidu.com/wtnzone/blog/item/ffe0a56e317e58d481cb4a9a.html

最后建议你学习一下基本的正则表达式语法,在实践中不断积累成长!
闪闪红红星
2010-09-03 · TA获得超过924个赞
知道小有建树答主
回答量:613
采纳率:0%
帮助的人:394万
展开全部
好高骛远,就知道用正则表达式,你这么简单的事用String类的方法IndexOf,SubString完全可以了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
KohYongChiah
2010-09-03
知道答主
回答量:27
采纳率:0%
帮助的人:4.5万
展开全部
这样能实现: 试试吧.[resultidname]="([\S\s]+?)"

简单问题简单解决..........................

-------------------------------------------------------------------
using System.Text.RegularExpressions;

// Regex Match code for C#
void MatchRegex()
{
// Regex match
RegexOptions options = RegexOptions.None;
Regex regex = new Regex(@"[resultidname]=""([\S\s]+?)""", options);
string input = @"result=""success"" id=""899"" name=""王昌和""";

// Check for match
bool isMatch = regex.IsMatch(input);
if( isMatch )
{
// TODO: Do something with result
System.Windows.Forms.MessageBox.Show(input, "IsMatch");
}

// Get match
Match match = regex.Match(input);
if( match != null )
{
// TODO: Do something with result
System.Windows.Forms.MessageBox.Show(match.Value, "Match");
}

// Get matches
MatchCollection matches = regex.Matches(input);
for( int i = 0; i != matches.Count; ++i )
{
// TODO: Do something with result
System.Windows.Forms.MessageBox.Show(matches[i].Value, "Match");
}

// Numbered groups
for( int i = 0; i != match.Groups.Count; ++i )
{
Group group = match.Groups[i];

// TODO: Do something with result
System.Windows.Forms.MessageBox.Show(group.Value, "Group: " + i);
}

// Named groups
string groupA = match.Groups["groupA"].Value;
string groupB = match.Groups["groupB"].Value;

// TODO: Do something with result
System.Windows.Forms.MessageBox.Show(groupA, "Group: groupA");
System.Windows.Forms.MessageBox.Show(groupB, "Group: groupB");
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
iceser
2010-09-03 · TA获得超过2708个赞
知道大有可为答主
回答量:695
采纳率:100%
帮助的人:478万
展开全部
using System.Text.RegularExpressions;

string input = "result=\"success\" id=\"899\" name=\"王昌和\"";
Match m = Regex.Match(input, @"result=""(?<result>.*?)""\s+id=""(?<id>\d+)""\s+name=""(?<name>.*?)""");
if (m.Success)
{
Console.WriteLine("result={0}, id={1}, name={2}",
m.Groups["result"].Value,
m.Groups["id"].Value,
m.Groups["name"].Value);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
剑剑56
2010-09-03 · TA获得超过429个赞
知道小有建树答主
回答量:780
采纳率:0%
帮助的人:475万
展开全部
为什么要用正则呢,麻烦
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式