本文总结了一些在工作中遇到的容易产生迷惑的正则表达式实例:
1. ^\d+.?\d*$
public static bool IsDouble(string s)
{
string pattern = @"^\d+.?\d*$";
return Regex.IsMatch(s, pattern);
}
这是一个判断字符串是否是实数的方法,结果“0.1啊”或者“0.啊”都能正确判断为非实数,但是“0啊”却被错误地判定为实数。
剖析:本例中使用了元字符.与$。 .代表了任意一个字符,而*代表有可能是0个字符,因此“0啊”也符合
修正:使用\.代替.