C# · 1月 5, 2022

C#中如何利用正则表达式判断字符

废话不多说了,下面代码给大家介绍下利用正则表达式判断字符的方法,具体代码如下所示:

using System;using System.Text.RegularExpressions;using System.NET;namespace 正则表达式检测字符串{ class Program { static void Main(string[] args) { Console.WriteLine(“请输入字符串:”); string s = Console.ReadLine(); if (GF_IsOk.IsExistHanZi(s)) { Console.Write(“包含汉字”); } else { Console.Write(“不包含汉字”); } Console.ReadLine(); } } //判断部分 public class GF_IsOk { /// <summary> /// 判读是否是IP地址 /// </summary> /// <param name=”in_str”></param> /// <returns></returns> public static bool IsIPStr(string in_str) { IPAddress ip; return IPAddress.TryParse(in_str,out ip); } /// <summary> /// 判断是否是数字 /// </summary> /// <param name=”strNumber”></param> /// <returns></returns> public static bool IsNumber(string strNumber) { Regex objNotNumberPattern = new Regex(“[^0-9.-]”); Regex objTwoDotPattern = new Regex(“[0-9]*[.][0-9]*[.][0-9]*”); Regex objTwoMinusPattern = new Regex(“[0-9]*[-][0-9]*[-][0-9]*”); String strValidRealPattern = “^([-]|[.]|[-.]|[0-9])[0-9]*[.]*[0-9]+$”; String strValidIntegerPattern = “^([-]|[0-9])[0-9]*$”; Regex objNumberPattern = new Regex(“(” + strValidRealPattern + “)|(” + strValidIntegerPattern + “)”); return !objNotNumberPattern.IsMatch(strNumber) && !objTwoDotPattern.IsMatch(strNumber) && !objTwoMinusPattern.IsMatch(strNumber) && objNumberPattern.IsMatch(strNumber); } /// <summary> /// 判断是否是日期字符串 /// </summary> /// <param name=”in_str”></param> /// <returns></returns> public static bool IsDateStr_yyyymmdd(string in_str) { if (in_str == “”) return true; if (in_str.Length != 8) return false; return IsDateStr(in_str); } /// <summary> /// 判断是否是日期字符串 /// </summary> /// <param name=”in_str”></param> /// <returns></returns> public static bool IsDateStr(string in_str) { if (in_str == “”) return true; if (in_str.Length == 8) in_str = in_str.Substring(0,4) + “-” + in_str.Substring(4,2) + “-” + in_str.Substring(6,2); DateTime dtDate; bool bValid = true; try { dtDate = DateTime.Parse(in_str); } catch (FormatException) { // 如果解析方法失败则表示不是日期性数据 bValid = false; } return bValid; } /// <summary> /// 判断字符串中是否包含汉字,有返回true 否则为false /// </summary> /// <param name=”str”></param> /// <returns></returns> public static bool IsExistHanZi(string str) { Regex reg = new Regex(@”[\u4e00-\u9fa5]”);//正则表达式 if (reg.IsMatch(str)) { return true; } else { return false; } } /// <summary> /// 字段串是否为Null或为””(空) /// </summary> /// <param name=”str”></param> /// <returns></returns> public static bool IsStrNullOrEmpty(string str) { if (str == null || str.Trim() == string.Empty) return true; return false; } /// <summary> /// 返回文件是否存在 /// </summary> /// <param name=”filename”>文件名</param> /// <returns>是否存在</returns> public static bool IsFileExists(string filename) { return System.IO.File.Exists(filename); } /// <summary> /// 检测是否符合email格式 /// </summary> /// <param name=”strEmail”>要判断的email字符串</param> /// <returns>判断结果</returns> public static bool IsValidEmail(string strEmail) { return Regex.IsMatch(strEmail,@”^[\w\.]+([-]\w+)*@[A-Za-z0-9-_]+[\.][A-Za-z0-9-_]”); } public static bool IsValidDoEmail(string strEmail) { return Regex.IsMatch(strEmail,@”^@(([0−9]1,3\.[0−9]1,3\.)|(([\w−]+\.)+))([a−zA−Z]2,4|[0−9]1,3)(?)$”); } /// <summary> /// 检测是否是正确的Url /// </summary> /// <param name=”strUrl”>要验证的Url</param> /// <returns>判断结果</returns> public static bool IsURL(string strUrl) { return Regex.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> /// <param name=”str”></param> /// <returns></returns> public static bool IsBase64String(string str) { //A-Z,a-z,0-9,+,/,= return Regex.IsMatch(str,@”[A-Za-z0-9\+\/\=]”); } /// <summary> /// 检测是否有sql危险字符 /// </summary> /// <param name=”str”>要判断字符串</param> /// <returns>判断结果</returns> public static bool IsSafesqlString(string str) { return !Regex.IsMatch(str,@”[-|;|,|\/|||||\}|\{|%|@|\*|!|\’]”); } }}

以上所述是小编给大家介绍的C#中如何利用正则表达式判断字符,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对编程小技巧网站的支持!