在我印象中^表示以某某某开始,$表示以某某结束,感觉^$不写在表达式的左右侧也没有什么影响。但是今天发现一个例子,想请教一下:
([0-9]|[1-9][0-9]|100)   验证整数0到100,不正确,比如25就通不过;
^([0-9]|[1-9][0-9]|100)$ 验证整数0到100,正确。
^$加上后到底有什么区别?
谢谢!

解决方案 »

  1.   

    对于^$越来越糊涂了
    表达式a
    表达式^a$
    有什么不同?
    用在asp.net的RegularExpressionValidator控件里的效果是一样的?到底加上^$有什么区别呢?
      

  2.   


    ^a$ 只匹配字符串  a
    a 匹配任何包含a的字符串 如 a, abc, kai, ca 等等如果^pattern$能匹配成功的 pattern肯定能成功。反之不然。
      

  3.   

    a 匹配任何包含a的字符串 如 a, abc, kai, ca 等等??????你确定?
    我在asp.net的RegularExpressionValidator控件里试过了,表达式a只能匹配a,表达式^a$表达式也只能匹配a
    我用的是vs2010
      

  4.   

    我试了一下System.Text.RegularExpressions.Regex类
    表达式a,可以匹配aa,abc等。
    验证控件RegularExpressionValidator
    表达式a,只能匹配a
    这是为什么呢?
    难道验证控件RegularExpressionValidator默认在表达式左右附加了^$这两个符号?
    但是验证控件([0-9]|[1-9][0-9]|100)和^([0-9]|[1-9][0-9]|100)$为什么又是不一样的效果?