A09_正则表达式
来源:互联网 发布:js 当前时间加1小时 编辑:程序博客网 时间:2024/06/06 06:37
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Text.RegularExpressions;//正则表达式的概念 //检查,检索,替换那些符合某个模式的文本 //屏蔽或替换用户输入的“非法”字符串。 namespace A09_RegularExpression{ class Demo2 { // ^ "定位"元字符,表示开头 // $ "定位"元字符,表示结尾 // . 表示任意字符 // \d 表示数字 // \w 表示字母、数字、下划线、汉字。 // * 表示某个元字符规则重复0-N次 // [] "包含"与[^]"非"元字符 // {n} 匹配前面的字符n次 // {n,} 匹配前面的字符n次或多于n次 // {n,m} 匹配前面的字符n到m次 // ? 重复0次或者1次 // + 重复1次或者多次 // * 表示零到多个元字符,或表示重复零次或者更多次 // | 将两个匹配条件进行逻辑“或”运算 // () 用小括号来制定子表达式 //开始位置的元字符 ^ public void Test1() { string str = "Hello everyone ! "; string strResult = Regex.Replace(str, "^", "23333 "); Console.WriteLine(strResult); } //结束位置的元字符 $ public void Test2() { string str = "Hello everyone ! "; string strResult = Regex.Replace(str, "$", "23333 "); Console.WriteLine(strResult); } //以数字开头,以数字结尾,且中间有任意多个数字 public void Test3() { string str = "12345a678"; bool isMatch = JudgeNumber(str); if (isMatch) { Console.WriteLine("全部都是数字"); } else { Console.WriteLine("存在非数字字符"); } } //判断字符串是否全部由数字字符组成 private bool JudgeNumber(string strNumber) { string strPattern = @"^\d*$"; return Regex.IsMatch(strNumber, strPattern); } //验证用户名,字母,数字,汉字,下划线组成。 public void Test4() { string str = "CNLithium_523"; if (JudgeUserName(str)) { Console.WriteLine("用户名合法"); } else { Console.WriteLine("用户名中存在非法字符"); } } private bool JudgeUserName(string strUser) { string strPattern = @"^\w*$"; return Regex.IsMatch(strUser, strPattern); } //[]"包含"与[^]"非"元字符 //字符串替换 public void Test5() { string strResult = null; string strContent = "Hello EveryOne !!!! Son of Bitch !!!!"; string strPattern = @"Son of Bitch"; strResult = Regex.Replace(strContent, strPattern, "***"); Console.WriteLine(strResult); } public void Test6() { string strContent = "bck"; if (JudgeMessage(strContent)) { Console.WriteLine("信息中包含非法字符"); } else { Console.WriteLine("信息合法"); } } private bool JudgeMessage(string strMessage) { string strPattern = @"[a]"; return Regex.IsMatch(strPattern, strMessage); } //全部是数字且5-12位之间 public void Test7() { string qq1 = "5761"; string qq2 = "59847dbv"; string qq3 = "5984758874"; string strPattern = @"^\d{5,12}$"; Console.WriteLine(Regex.IsMatch(qq1, strPattern)); Console.WriteLine(Regex.IsMatch(qq2, strPattern)); Console.WriteLine(Regex.IsMatch(qq3, strPattern)); } //提取字母和数字 public void Test8() { string str = "56484657#$^$&adfg$!#564"; string strPattern = @"\d|[a-z]"; //整数或者字母a-z MatchCollection CollArray = Regex.Matches(str, strPattern); foreach (Match item in CollArray) { Console.Write(item); } Console.WriteLine(""); } //提取“标签” public void Test9() { string[] strTagArray; string strTag = "C#,ProgramLaugrage;Toturial.RegularExpression"; string strPattarn = @"[,]|[;]|[.]";//包含,或者;或者. strTagArray = Regex.Split(strTag, strPattarn); foreach (var item in strTagArray) { Console.WriteLine(item); } } //()进行分组 public void Test10() { string str = "213abllab22哈哈哈"; //模式定义,(ab+两个任意字符)X 2 string strPattern = @"(ab\w{2}){2}"; Console.WriteLine(Regex.Replace(str, strPattern, "***")); } /// <summary> /// 验证电话号码是否合法 /// (010)-12345678 /// 010-12345678 /// 01012345678 /// </summary> public void Test11() { string strTel1 = "(010)-12345678"; string strTel2 = "010-12345678"; string strTel3 = "01012345678"; string strTel4 = "010)-12345678"; string strTel5 = "(010)1234-5678"; string strTel6 = "010-123-45678"; string strTel7 = "010-1234adfe"; //定义模式 string strPattern = @"\(0\d{2,3}\)[-]?\d{7,8}|^0\d{2,3}[-]?\d{7,8}$"; Console.WriteLine("Tel1 = " + Regex.IsMatch(strTel1, strPattern)); Console.WriteLine("Tel2 = " + Regex.IsMatch(strTel2, strPattern)); Console.WriteLine("Tel3 = " + Regex.IsMatch(strTel3, strPattern)); Console.WriteLine("Tel4 = " + Regex.IsMatch(strTel4, strPattern)); Console.WriteLine("Tel5 = " + Regex.IsMatch(strTel5, strPattern)); Console.WriteLine("Tel6 = " + Regex.IsMatch(strTel6, strPattern)); Console.WriteLine("Tel7 = " + Regex.IsMatch(strTel7, strPattern)); } static void Main(string[] args) { Demo2 obj = new Demo2(); obj.Test1(); obj.Test2(); obj.Test3(); obj.Test4(); obj.Test5(); obj.Test6(); obj.Test7(); obj.Test8(); obj.Test9(); obj.Test10(); obj.Test11(); } } //常用正则表达式 /* * 效验密码强度 ^(?=.*[0-9].*)(?=.*[A-Z].*)(?=.*[a-z].*).{8,20}$ 必须包含大写字母小写字母和数字 8-20位 * 效验中文 [\u4e00-\u9fa5] * 判断一个合法的IP4地址 ^((25[0-5]|2[0-4]\d|[1]{1}\d{1}\d{1}|[1-9]{1}\d{1}|\d{1})($|(?!\.$)\.)){4}$ * 效验E-mail地址 ^\w+([-_.]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,6})+$ * 效验身份证号码 ^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$ * 效验金额 ^(([1-9][0-9]*)|(([0]\.\d{1,2}|[1-9][0-9]*\.\d{1,2})))$ * 效验日期 ^(^(\d{4}|\d{2})(\-|\/|\.)\d{1,2}\3\d{1,2}$)|(^\d{4}年\d{1,2}月\d{1,2}日$)$ * 效验手机号 ^((13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(18[0,5-9]))\d{8}$ */}
阅读全文
0 0
- A09_正则表达式
- 【正则表达式】正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- vue + ElementUI 关闭对话框清空验证,清除form表单
- eclipse中设置查看源码
- collections和collection的区别
- 【集齐BUG,召唤神龙】使用WebView,遇到JS时而能调用Android时而不能问题;
- 中国省,市,区 json数据
- A09_正则表达式
- What really happens when you navigate to a URL
- layer 子页面关闭父页面
- FFmpeg转在线视频协议命令
- Mysql5.5编译方式安装实战
- Periodic Strings最小循环子串的长度
- Go在酷狗数据库中间件的应用
- Python redis.ttl 返回 None
- 你的个人信息被卖了吗,难怪经常被骚扰