比如一个字符串"rf=1500 pw=1.5 pri= 2.4 FFLAG"
用正则表达式怎么取出1.5还有2.4?
谢谢大佬!
如果只提取小数,正则表达式如下:
//var pattern = @"[-+]?[0-9]*\.[0-9]+";
using System;
using System.Text.RegularExpressions;
namespace ConsoleApp2
{
public class MyProgram
{
static void Main(string[] args)
{
var pattern = @"[-+]?[0-9]*\.[0-9]+";
var input = "rf=1500 pw=1.5 pri= 2.4 FFLAG";
var matches = Regex.Matches(input, pattern);
foreach (Match match in matches)
{
Console.WriteLine(match.Value);
}
Console.ReadKey();
}
}
}
输出结果:
1.5
2.4
如果提取字符串中所有的数字(包含整数,小数),正则表达式如下:
using System;
using System.Text.RegularExpressions;
namespace ConsoleApp2
{
public class MyProgram
{
static void Main(string[] args)
{
var pattern = @"[-+]?[0-9]*\.?[0-9]+";
var input = "rf=1500 pw=1.5 pri= 2.4 FFLAG";
var matches = Regex.Matches(input, pattern);
foreach (Match match in matches)
{
Console.WriteLine(match.Value);
}
Console.ReadKey();
}
}
}
输出结果:
1500
1.5
2.4
Regex.Matches("rf=1500 pw=1.5 pri= 2.4 FFLAG",@"\d+(\.\d+)?")