c# 怎样用正则提取字符串??
例如有段字符串stringtest="我的位置,x=1.25,y=2.22,z=3.33,^#W%乱七八糟^W##%"请问怎样把1.252.22和3.33这个3个浮点数提...
例如有段字符串string test="我的位置,x=1.25,y=2.22,z=3.33,^#W%乱七八糟^W##%"
请问怎样把1.25 2.22 和3.33这个3个浮点数提取出来?? 展开
请问怎样把1.25 2.22 和3.33这个3个浮点数提取出来?? 展开
2个回答
展开全部
string test = "我的位置,x=1.25,y=2.22,z=3.33,^#W%乱七八糟^W##%";
string pattern = @"(?<==)[\d\.]+(?=,)";
MatchCollection collection = Regex.Matches(test, pattern);
foreach (Match match in collection)
{
Console.WriteLine(match.Value);
}
string pattern = @"(?<==)[\d\.]+(?=,)";
MatchCollection collection = Regex.Matches(test, pattern);
foreach (Match match in collection)
{
Console.WriteLine(match.Value);
}
追问
谢谢你啊,,能解释下么,,例如(?<==) 是什么意思,,,刚看正则表达,,好多看不懂
追答
我们希望捕获的是 [\d\.]+ 也就是数字和小数点的组合
条件是在这之前有个等于号,所以用 (?<==) 来说明前面有等于号,但并不被捕获进来
如果我们直接用 =[\d\.]+ 那么连等于号也会被提取了
后面的 (?=,) 也是同样道理,说明数字后有一个逗号,但不捕获
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询