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#中如何利用正则表达式判断字符,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!