C#中如何判断某一字符串(正则表达式,如^[0-9]*[a-z]$)符合正则表达式模式,C#提供了判断的方法没?
#region判断字符串str是否以字母开头boolIsMatchWith(Stringstr,Stringpattern){if(str==null){returnfa...
#region 判断字符串str是否以字母开头
bool IsMatchWith(String str, String pattern)
{
if (str == null)
{
return false;
}
return new Regex(pattern).IsMatch(str);
}
#endregion
IsMatchWith(“23hcush”, “^[a-z”);
如上,编译不会出错,但程序运行中出错,因为“^[a-z”不符合正则表达式模式,为了保证程序的健全性,必须在调用IsMatchWith(String str, String pattern)方法前判断pattern是否符合正则表达式模式,该如何办? 展开
bool IsMatchWith(String str, String pattern)
{
if (str == null)
{
return false;
}
return new Regex(pattern).IsMatch(str);
}
#endregion
IsMatchWith(“23hcush”, “^[a-z”);
如上,编译不会出错,但程序运行中出错,因为“^[a-z”不符合正则表达式模式,为了保证程序的健全性,必须在调用IsMatchWith(String str, String pattern)方法前判断pattern是否符合正则表达式模式,该如何办? 展开
4个回答
展开全部
string content="123123123a"; //定义要检测的字付串。
string RegStr="^[0-9]*[a-z]$";
System.Text.RegularExpressions.Regex rg = new System.Text.RegularExpressions.Regex(RegStr);
System.Text.RegularExpressions.Match SearchStr;
SearchStr=rg.Match(content);
content=SearchStr.ToString(); //如果content 不为空就说明 content 有部分或全部符合你定义的字符串
string RegStr="^[0-9]*[a-z]$";
System.Text.RegularExpressions.Regex rg = new System.Text.RegularExpressions.Regex(RegStr);
System.Text.RegularExpressions.Match SearchStr;
SearchStr=rg.Match(content);
content=SearchStr.ToString(); //如果content 不为空就说明 content 有部分或全部符合你定义的字符串
更多追问追答
追问
可能我没说清楚,拿你的例子来说吧,我想问的是如何判断string RegStr="^[0-9]*[a-z]$";中的RegStr是否符合正则表达式模式,即能否编译通过!
追答
RegStr 只要是字符串都能编译通过。
展开全部
其实是否会编译通过,只要看出没出错就可以,大部分情况是编译通过了,但是就是匹配的结果和预想的有差距。那就得重新写正者表达式了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
IsMatchWith(“23hcush”, “^[a-z]”);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
IsMatchWith(“23hcush”, “^[a-zA-Z]”);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询