请问大家var regex=/[^a]/
是不是定义不能以A开头? 如果以A开头的话
var str="abc"str.test(regex) 会返回false?
var regex=/[abc]+[^d]/呢?
是不是abc开头的字母都可以 但是第二位不可以是d呢?
请大家帮忙在线等谢谢!

解决方案 »

  1.   

    正则中的^有两重含义。一个意思是用来匹配字符串的开始,
    但是时当^出现在[]中的时候它有另外的含义就是取反。
    你的例子中的正则:/[^a]/,表示的含义是匹配不是字符a
    的任意一个字符,"abc"显然是符合匹配的因为bc都满足条件
    所以str.test(regex)返回true.
    第二个正则:/[abc]+[^d]/的含义是匹配字符abc的任意大于
    一个字符长度组合,并且组合之后的第一个字符不是d.
    所以aa,ab,ac,abc,abce,abbbbbe都满足匹配
      

  2.   

    var regex=/^[^a]/ ;不以a开头
    var regex=/^[abc][^d]/;以abc开头的字母都可以 但是第二位不可以是d
      

  3.   


    我试了下 
    var regex=/[^a]/ 
    var str="a" 
    str.test(regex)  返回true   是字符串符合正则表达式返回true  不符合返回false吗
      

  4.   

    为什么var regex=/[^a]/ 
    var str="a" 
    str.test(regex)  返回true呢???正常说正则表达式意思是不能以a开头的才符合正则表达式
    才会返回true    输入a不符合正则表达式  应该返回false啊