正则表达式——匹配数字
2013-06-23 20:49
507 查看
本文将建立一个winform项目中匹配找出文本中所有数字的简单实例,以下是详细步骤:
新建一个winform项目,为了便于演示,简单的布局如下:
代码如下(需要using System.Text.RegularExpressions;):
用于匹配的正则表达式为:([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运行程序,文本框输入欲匹配的文本内容,点击按钮结果如下:
根据业务的需要,我们可以运用正则表达式达成目标,比起繁琐的字符串处理,正则表达式的高效和灵活是无与伦比的,
本例重在说明.net中,运用正则regex的方法,包括:
Regex:正则表达式的实例;
Match: 一次正则表达式的匹配结果;
-m.Success:指示匹配是否成功;
-m.NextMatch:从上一个匹配结束的位置开始下一个匹配;
正则表达式的语法在这里就不再赘述了。
新建一个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.Match(this.textBox1.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运行程序,文本框输入欲匹配的文本内容,点击按钮结果如下:
根据业务的需要,我们可以运用正则表达式达成目标,比起繁琐的字符串处理,正则表达式的高效和灵活是无与伦比的,
本例重在说明.net中,运用正则regex的方法,包括:
Regex:正则表达式的实例;
Match: 一次正则表达式的匹配结果;
-m.Success:指示匹配是否成功;
-m.NextMatch:从上一个匹配结束的位置开始下一个匹配;
正则表达式的语法在这里就不再赘述了。
相关文章推荐
- js正则 匹配 汉字、数字、英文字母、下划线 的 正则表达式
- 正则表达式 匹配中文,英文字母和数字及_的写法!同时控制长度
- 正则表达式连续数字匹配以及连续相同数字的匹配
- 正则表达式匹配指定范围数字及各种常用例子
- 正则表达式实现匹配连续数字的方法
- 正则表达式-匹配数字范围
- 匹配5到10位无重复数字的正则表达式
- 正则表达式-匹配:中文,英文,数字,下划线
- 正则表达式怎么匹配非汉字非字母非数字之外的字符
- 正则表达式——匹配数字
- MySQL 字符串模式匹配 扩展正则表达式模式匹配
- 正则表达式话题2--递归和匹配
- 正则表达式匹配URL——给URL地址加上<a> 链接
- Java使用正则表达式实现找出数字功能示例
- 获取自身递增数字及匹配数组内容
- 正则表达式 匹配中文,英文字母和数字及_的写法!同时控制长度
- 正则表达式对数字的判断——转
- php匹配中文_英文_数字的正则表达式
- 正则表达式匹配 等于0的数字
- 正则表达式匹配数字或者短横杠至多三次,数字可以不填写,学习正则表达式