C#中如何利用正则表达式判断字符
废话不多说了,下面代码给大家介绍下利用正则表达式判断字符的方法,具体代码如下所示:
usingSystem; usingSystem.Text.RegularExpressions; usingSystem.NET; namespace正则表达式检测字符串 { classProgram { staticvoidMain(string[]args) { Console.WriteLine("请输入字符串:"); strings=Console.ReadLine(); if(GF_IsOk.IsExistHanZi(s)) { Console.Write("包含汉字"); } else { Console.Write("不包含汉字"); } Console.ReadLine(); } } //判断部分 publicclassGF_IsOk { ///<summary> ///判读是否是IP地址 ///</summary> ///<paramname="in_str"></param> ///<returns></returns> publicstaticboolIsIPStr(stringin_str) { IPAddressip; returnIPAddress.TryParse(in_str,outip); } ///<summary> ///判断是否是数字 ///</summary> ///<paramname="strNumber"></param> ///<returns></returns> publicstaticboolIsNumber(stringstrNumber) { RegexobjNotNumberPattern=newRegex("[^0-9.-]"); RegexobjTwoDotPattern=newRegex("[0-9]*[.][0-9]*[.][0-9]*"); RegexobjTwoMinusPattern=newRegex("[0-9]*[-][0-9]*[-][0-9]*"); StringstrValidRealPattern="^([-]|[.]|[-.]|[0-9])[0-9]*[.]*[0-9]+$"; StringstrValidIntegerPattern="^([-]|[0-9])[0-9]*$"; RegexobjNumberPattern=newRegex("("+strValidRealPattern+")|("+strValidIntegerPattern+")"); return!objNotNumberPattern.IsMatch(strNumber)&& !objTwoDotPattern.IsMatch(strNumber)&& !objTwoMinusPattern.IsMatch(strNumber)&& objNumberPattern.IsMatch(strNumber); } ///<summary> ///判断是否是日期字符串 ///</summary> ///<paramname="in_str"></param> ///<returns></returns> publicstaticboolIsDateStr_yyyymmdd(stringin_str) { if(in_str=="")returntrue; if(in_str.Length!=8)returnfalse; returnIsDateStr(in_str); } ///<summary> ///判断是否是日期字符串 ///</summary> ///<paramname="in_str"></param> ///<returns></returns> publicstaticboolIsDateStr(stringin_str) { if(in_str=="")returntrue; if(in_str.Length==8) in_str=in_str.Substring(0,4)+"-"+in_str.Substring(4,2)+"-"+in_str.Substring(6,2); DateTimedtDate; boolbValid=true; try { dtDate=DateTime.Parse(in_str); } catch(FormatException) { //如果解析方法失败则表示不是日期性数据 bValid=false; } returnbValid; } ///<summary> ///判断字符串中是否包含汉字,有返回true否则为false ///</summary> ///<paramname="str"></param> ///<returns></returns> publicstaticboolIsExistHanZi(stringstr) { Regexreg=newRegex(@"[\u4e00-\u9fa5]");//正则表达式 if(reg.IsMatch(str)) { returntrue; } else { returnfalse; } } ///<summary> ///字段串是否为Null或为""(空) ///</summary> ///<paramname="str"></param> ///<returns></returns> publicstaticboolIsStrNullOrEmpty(stringstr) { if(str==null||str.Trim()==string.Empty) returntrue; returnfalse; } ///<summary> ///返回文件是否存在 ///</summary> ///<paramname="filename">文件名</param> ///<returns>是否存在</returns> publicstaticboolIsFileExists(stringfilename) { returnSystem.IO.File.Exists(filename); } ///<summary> ///检测是否符合email格式 ///</summary> ///<paramname="strEmail">要判断的email字符串</param> ///<returns>判断结果</returns> publicstaticboolIsValidEmail(stringstrEmail) { returnRegex.IsMatch(strEmail,@"^[\w\.]+([-]\w+)*@[A-Za-z0-9-_]+[\.][A-Za-z0-9-_]"); } publicstaticboolIsValidDoEmail(stringstrEmail) { returnRegex.IsMatch(strEmail,@"^@(( [0−9]1,3\.[0−9]1,3\.[0−9]1,3\.)|(([\w−]+\.)+))([a−zA−Z]2,4|[0−9]1,3)( ?)$"); } ///<summary> ///检测是否是正确的Url ///</summary> ///<paramname="strUrl">要验证的Url</param> ///<returns>判断结果</returns> publicstaticboolIsURL(stringstrUrl) { returnRegex.IsMatch(strUrl,@"^(http|https)\://([a-zA-Z0-9\.\-]+(\:[a-zA-Z0-9\.&%\$\-]+)*@)*((25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])|localhost|([a-zA-Z0-9\-]+\.)*[a-zA-Z0-9\-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{1,10}))(\:[0-9]+)*(/($|[a-zA-Z0-9\.\,\?\'\\\+&%\$#\=~_\-]+))*$"); } ///<summary> ///判断是否为base64字符串 ///</summary> ///<paramname="str"></param> ///<returns></returns> publicstaticboolIsBase64String(stringstr) { //A-Z,a-z,0-9,+,/,= returnRegex.IsMatch(str,@"[A-Za-z0-9\+\/\=]"); } ///<summary> ///检测是否有Sql危险字符 ///</summary> ///<paramname="str">要判断字符串</param> ///<returns>判断结果</returns> publicstaticboolIsSafeSqlString(stringstr) { return!Regex.IsMatch(str,@"[-|;|,|\/||| | |\}|\{|%|@|\*|!|\']"); } } }
以上所述是小编给大家介绍的C#中如何利用正则表达式判断字符,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!