正则表达式——匹配数字
本⽂将建⽴⼀个winform项⽬中匹配出⽂本中所有数字的简单实例,以下是详细步骤:
新建⼀个winform项⽬,为了便于演⽰,简单的布局如下:
代码如下(需要using System.Text.RegularExpressions;):
private void button1_Click(object sender, EventArgs e)
{
this.listBox1.Items.Clear();
//匹配的正则表达式
Regex r = new Regex(@"([1-9]\d*\.?\d*)|(0\.\d*[1-9])");
//开始匹配
Match m = r.Box1.Text);
while (m.Success)
{
//匹配成功
this.listBox1.Items.Add(m.Groups[0].Value);
//从上⼀个匹配结束的位置开始下⼀个匹配
m = m.NextMatch();
}
}
正则匹配多个⽤于匹配的正则表达式为:([1-9]\d*\.?\d*)|(0\.\d*[1-9])
(
[1-9] :匹配1~9的数字;
\d:匹配数字,包括0~9;
*:紧跟在 \d 之后,表明可以匹配零个及多个数字;
\.:匹配⼩数点;
:紧跟在 \. 之后,表明可以匹配零个或⼀个⼩数点;
0:匹配⼀个数字0;
)
其中的 [1-9]\d*\.?\d*⽤以匹配诸如:1、23、34.0、56.78 之类的⾮负的整数和浮点数;
其中的0\.\d*[1-9]⽤以匹配诸如:0.1、0.23、0.405 之类的⾮负浮点数;
F5运⾏程序,⽂本框输⼊欲匹配的⽂本内容,点击按钮结果如下:
根据业务的需要,我们可以运⽤正则表达式达成⽬标,⽐起繁琐的字符串处理,正则表达式的⾼效和灵活是⽆与伦⽐的,本例重在说明中,运⽤正则regex的⽅法,包括:
Regex:正则表达式的实例;
Match:⼀次正则表达式的匹配结果;
  -m.Success:指⽰匹配是否成功;
  -m.NextMatch:从上⼀个匹配结束的位置开始下⼀个匹配;
正则表达式的语法在这⾥就不再赘述了。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。