var regx=/beijing|shanghai/;正则为什么 开头 结尾 都要个“/”这个符号?刚开始看JS 正则,不明白为什么前后都要一个这个符号

解决方案 »

  1.   

    这是定义正则的一种简便方式,等同于new RegExp
      

  2.   

    恩, /是定界符,其实就是一种特殊的表达方式, 其实javascript的解释器只要能认识这个定界符, 认为这是正则表达式的开始就行了。
      

  3.   

    var pattern=/正则表达式/;
    var pattern=new RegExp("");
    这两种都可以
    每一种是perl的写法,js把它给借鉴过来了
      

  4.   

    JS的正规写法是
    var pattern=new RegExp("正则表达式","指令"); 
    但是因为正则表达式最初是从Perl引入的,而Perl的写法就是
    var pattern=/正则表达式/指令;
    所以JS也支持了这种格式。
    再者,perl的格式比JS的正规写法更方便,尤其是正则表达式中有需要转义的字符的情况,比如:
    var reTest = /^\.{1}$/g;
    用正规写法要写成
    var reTest = new RegExp("^\\.{1}$","g");
    正是因为这个原因,导致绝大多数JS程序编写人员用perl的方式建立正则表达式对象。
      

  5.   

    参见:快速掌握JavaScript正则表达式
    EcmaScript正則表達式( 深入淺出系列之淺出 ^_^ )
    使用方法創建對象
        var r = new RegExp("表達式","ig");
        適合在動態構造匹配對象時使用;
        表達式中轉義符需要使用兩次,如\\d;
    直接量
        var r = /表達式/ig;
        使用在任何固定模式的匹配;
      

  6.   

    就像为什么要用int string var定义变量一样