C#语言的正则表达式(Regex)详解
来源:互联网 发布:搞怪照片软件下载 编辑:程序博客网 时间:2024/06/03 21:32
正则表达式我们并不陌生,比如需要验证用户输入是否合法,比如输入邮箱的输入框判断输入是否合乎要求等等。
1.字符匹配
字符匹配可以对匹配是否是数字、是否为非数字、字符和转义字符的匹配。
1.以下是字符匹配
“\d”----->匹配数字 实例 1223 “\D”----->匹配非数字 实例 ASDDG “\w”----->匹配任意单字符 实例 ‘A’ 'F' "\W"----->匹配非单字符 实例 “ASDSGG” "\s"----->匹配空白字符 实例 \d\s\d匹配“1 2” "\s"----->匹配非空白字符 实例 \d\S\d匹配“122” “.”------>匹配任意字符 实例 ...匹配12ds%f "\"------>匹配特殊字符, 实例 \n匹配换行符 [...]---->匹配括号中的任意字符 实例 [a-d]匹配a,b,c,d [^...]--->匹配非括号中的字符 实例 [^b-z]匹配a
以下是重复匹配
匹配的重复语法 语法解释 {n} 匹配字符n次 {m,n} 匹配字符m次以上,n次以下 {n,} 匹配字符n次以上 ? 匹配0次或者1次 + 匹配1次或者多次 * 匹配0次以上
重复匹配的实例
wang{3} 匹配wang3次
wang{3,8} 匹配wang3-8次
wang{3,} 匹配wangwangwang以上
wang{}* 匹配wang0次以上,不匹配非wang
5? 匹配5或者0 不匹配非0或者5
以下是匹配字符的定位
符号 语法解释 ^ 定位从后面开始匹配 $ 前面模式位于字符串末端 \A 前面模式开始位置 \z 前面模式结束位置 \Z 前面模式结束位置(换行钱) \b 匹配一个单词边界 \B 匹配一个非单词边界
以下是转义字符的匹配
转义字符 语法解释
“\”+实际字符 例如\就是单匹配”\”
\n 匹配换行
\r 匹配回车
\t 匹配水平制表符
\v 匹配垂直制表符
\f 匹配换页
\nnn 匹配一个8进制ASCII
\xnn 匹配一个十六进制的Ascii
\unnnn 匹配4个十六进制的unicode
\c+大写字母 匹配键盘的CTRL+大写字母
简单来说,正则表达式就是定义好固定的格式,再对用户的输入信息验证。以判断输入是否合法。
实例:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Text.RegularExpressions;namespace Regmatch{ class Program { static void Main(string[] args) { string str = @"\d{3,4}-\d{8}";//定义正则表达式 string str1 = "我们公司的电话是:0371-12345678。感谢您支持!"; string phone = @"\d{3,4}-\d{8}";//定义正则表达式 Console.WriteLine("请输入电话号码:"); string num = Console.ReadLine(); if (Regex.IsMatch(num, str)) { Console.WriteLine("{0}号码格式正确", num); } else { Console.WriteLine("{0}号码格式错误,请检查格式", num); } Console.WriteLine("请输入电话号码:"); string num1 = Console.ReadLine(); if (Regex.IsMatch(num, str)) { Console.WriteLine("{0}号码格式正确", num1); } else { Console.WriteLine("{0}号码格式错误,请检查格式", num1); } Console.WriteLine("原文是:{0}",str1); Regex reg = new Regex(phone); Console.WriteLine("请输入需要修改的电话号码:"); string getin = Console.ReadLine(); string rights = reg.Replace(str1, getin); Console.WriteLine("修改之后的:{0}",rights); Console.ReadLine(); } }}
运行结果:
- C#语言的正则表达式(Regex)详解
- c# 正则表达式 regex
- C# 正则表达式Regex
- C#正则表达式(Regex)
- c# Regex正则表达式
- C语言的正则表达式 regex
- C#正则表达式的使用(Regex类用法)
- C#正则表达式的Regex类用法
- C#正则表达式Regex类的介绍
- C#正则表达式Regex类的用法
- C#正则表达式Regex类的使用
- C#正则表达式Regex类的用法
- C语言正则表达式regex
- c# regex深入正则表达式
- C# Regex 深入正则表达式
- C# Regex 深入正则表达式
- C# Regex 深入正则表达式
- C# Regex 深入正则表达式
- 链队列(C语言实现)学习记录
- 设计模式--简单工厂
- H5+JS+相对单位rem实现第三方支付页(输入金额+模拟数字键盘+自适应布局+大写金额)
- 最大子段-n个数求和最大且连续的子段-最简单的一维dp,动态规划入门教程,包听懂
- Headfile !头文件的原理与实践编写。 摘自外网 -learn.cpp.com
- C#语言的正则表达式(Regex)详解
- 文章标题
- 第一次写博文
- 数据结构与算法 学习摘要
- 博客小程序
- Quartz的具体实现
- UIAutomator2.0详解(UIDevice篇----performActionAndWait)
- 9CHexadecimal's Numbers
- 【Scikit-Learn 中文文档】线性和二次判别分析