国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

c#中的正則表達式

2019-11-17 02:24:11
字體:
來源:轉載
供稿:網友

c#中的正則表達式

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace 正則表達式{    using System.Text.RegularExPRessions;//正則表達式的命名空間    class Program    {        static void Main(string[] args)        {            /*             * 正則的匹配原則:             * 1.只關注有沒有能夠進行匹配的字符串,而不關注它的位置,及其它不能匹配的部分。             * 2.貪婪模式:正則會盡可能多的進行匹配,也就意味著它會匹配到能夠進行匹配的最后一個字符串             */            while(true)            {                string str = Console.ReadLine();                #region 元字符_占位符                //方法的作用是    判斷str是否匹配 自定義的正則表達式規則                                //1. .:代表一個字符占位,可以代表任意一個字符,必須傳入一個字符,可以是中文                Console.WriteLine(Regex.IsMatch(str, "b.g"));                //2.[]:代表一個指定范圍的單個字符,你可以指定間斷的值,也可以指定連續的范圍: 0-9  A-Z   a-z      合法字符:0-9  A-Z   a-z _                Console.WriteLine(Regex.IsMatch(str, "b[0-9]g"));                //在正則里面,^只能寫在開頭,如果在中間寫,^就是一個普通的字符了                Console.WriteLine(Regex.IsMatch(str, "b[0-9A-Z^a-z_]g"));                Console.WriteLine(Regex.IsMatch(str, "b[^0-9A-Za-z_^]g"));                //這里[0-z]會包含0-z之間的所有字符,也包含一些特殊符號                //正在分析“b[9-1]g”- [x-y] 范圍的順序顛倒。  只能按ASCII碼的順序從小到大                Console.WriteLine(Regex.IsMatch(str, "b[9-1]g"));                Console.WriteLine(Regex.IsMatch(str, "b[0-9-]g"));                //  11-19                Console.WriteLine(Regex.IsMatch(str, "[11-19]"));  //  1   1-1   9                Console.WriteLine(Regex.IsMatch(str, "b[^0-9]g"));                 //  |:或者                Console.WriteLine(Regex.IsMatch(str, "[0-9][0-9]|[0-9][0-9][0-9]")); //hjasdgf1234fjhadsjfhas                // 如果涉及到嚴格的位數匹配,就需要添加 開始 ^和結束$:代表字符從開始到結束必須嚴格的匹配正則                Console.WriteLine(Regex.IsMatch(str, "^[0-9][0-9]$|^[0-9][0-9][0-9]$"));                //包含在[]里面的都是普通字符,而不是元字符,除了^--需要后面有內容,如果需要匹配,則可以考慮使用轉義/                Console.WriteLine(Regex.IsMatch(str, @"^/^$"));                Console.WriteLine(Regex.IsMatch(str, "^//^$"));                 #endregion                #region 元字符_修飾符                // *:它不是一個字符占位,說明它本身并不代表一個字符,它是用來修飾 *前面的子表達式出現0次或者多次:子表達式就是默認指*前面的那一個字符,如果需要代表多個,就使用()包含                Console.WriteLine(Regex.IsMatch(str, "ab*g"));                Console.WriteLine(Regex.IsMatch(str, "^(ab)*g$"));                //+:它不是一個字符占位,說明它本身并不代表一個字符,它是用來修飾 +前面的子表達式出現1次或者多次:子表達式就是默認指+前面的那一個字符,如果需要代表多個,就使用()包含                Console.WriteLine(Regex.IsMatch(str, "a+g"));                //? :它不是一個字符占位,說明它本身并不代表一個字符,它是用來修飾 ?前面的子表達式出現0次或者1次:子表達式就是默認指?前面的那一個字符,如果需要代表多個,就使用()包含                Console.WriteLine(Regex.IsMatch(str, "^a?g$"));                // {n,m}:{n,m}它不是一個字符占位,說明它本身并不代表一個字符,它是用來修飾{n,m}前面的子表達式最少出現n次,最多出現m次                Console.WriteLine(Regex.IsMatch(str, "^[0-9]{3,4}$"));                //{n}:它不是一個字符占位,說明它本身并不代表一個字符,它是用來修飾{n}前面的子表達式只能出現n次                Console.WriteLine(Regex.IsMatch(str, "^[1-9][0-9]{17}$|^[0-9]{15}$|^[0-9]{17}[xX]$"));                //{n,}:它不是一個字符占位,說明它本身并不代表一個字符,它是用來修飾{n,}前面的子表達式最少出現n次,最多沒有限制                Console.WriteLine(Regex.IsMatch(str, "^[0-9]{3,}$"));                Console.WriteLine(Regex.IsMatch(str, "^q*$"));                #endregion                //在c#中判斷登錄名是是否包含特殊符號:[^0-9A-Za-z_]   :也不能包含中文                #region 簡寫表達式                ///d:代表一個數字,等同于[0-9]                  Console.WriteLine(Regex.IsMatch(str, @"^/d{3,}$"));                ///D:非數字                Console.WriteLine(Regex.IsMatch(str, @"/D"));                ///s:空字符:空格,制表位,換行                Console.WriteLine(Regex.IsMatch(str, @"/s"));                ///S:非空白字符                Console.WriteLine(Regex.IsMatch(str, @"/S"));                // /w:[0-9 a-z  A-Z  _  中文]                Console.WriteLine(Regex.IsMatch(str, @"/w"));                ///W:除了[0-9 a-z  A-Z  _  中文]之外的特殊符號                Console.WriteLine(Regex.IsMatch(str, @"/W"));                #endregion                           }            //判斷字符串是否為正確的國內電話號碼,不考慮分機。            //010-8888888或010-88888880或010xxxxxxx            //0335-8888888或0335-88888888(區號-電話號)            //10086、10010、95595、95599、95588(5位)            //13888888888(11位都是數字)            while (true)            {                string str = Console.ReadLine();                //不要試圖一步到位,應該一個一個來進行匹配                Console.WriteLine(Regex.IsMatch(str,@"^/d{3,4}[-]?/d{7,8}$|^[1-9]/d{4}$|^1[3-9]/d{9}$"));            }            //驗證用戶輸入的電子郵箱的合法性 wuhu0723@126.com            while (true)            {                string str = Console.ReadLine();                //不要試圖一步到位,應該一個一個來進行匹配                Console.WriteLine(Regex.IsMatch(str, @"^[0-9A-Za-z_]+[@][0-9A-Za-z_]+[.][A-Za-z]{2,5}$"));            }        }    }}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 兰坪| 繁峙县| 莱州市| 和顺县| 永平县| 黔西| 肥城市| 山西省| 石林| 辽宁省| 勐海县| 兰坪| 扶绥县| 金堂县| 姚安县| 临海市| 长武县| 荔波县| 南汇区| 大埔县| 临城县| 巴南区| 乌海市| 仙桃市| 绥德县| 班玛县| 霍州市| 永春县| 安远县| 新乡市| 泰宁县| 贵溪市| 鲜城| 博爱县| 二手房| 新宁县| 儋州市| 怀集县| 资阳市| 六枝特区| 织金县|