var pattern=/正则表达式/; var pattern=new RegExp(""); 这两种都可以 每一种是perl的写法,js把它给借鉴过来了
JS的正规写法是 var pattern=new RegExp("正则表达式","指令"); 但是因为正则表达式最初是从Perl引入的,而Perl的写法就是 var pattern=/正则表达式/指令; 所以JS也支持了这种格式。 再者,perl的格式比JS的正规写法更方便,尤其是正则表达式中有需要转义的字符的情况,比如: var reTest = /^\.{1}$/g; 用正规写法要写成 var reTest = new RegExp("^\\.{1}$","g"); 正是因为这个原因,导致绝大多数JS程序编写人员用perl的方式建立正则表达式对象。
参见:快速掌握JavaScript正则表达式 EcmaScript正則表達式( 深入淺出系列之淺出 ^_^ ) 使用方法創建對象 var r = new RegExp("表達式","ig"); 適合在動態構造匹配對象時使用; 表達式中轉義符需要使用兩次,如\\d; 直接量 var r = /表達式/ig; 使用在任何固定模式的匹配;
var pattern=new RegExp("");
这两种都可以
每一种是perl的写法,js把它给借鉴过来了
var pattern=new RegExp("正则表达式","指令");
但是因为正则表达式最初是从Perl引入的,而Perl的写法就是
var pattern=/正则表达式/指令;
所以JS也支持了这种格式。
再者,perl的格式比JS的正规写法更方便,尤其是正则表达式中有需要转义的字符的情况,比如:
var reTest = /^\.{1}$/g;
用正规写法要写成
var reTest = new RegExp("^\\.{1}$","g");
正是因为这个原因,导致绝大多数JS程序编写人员用perl的方式建立正则表达式对象。
EcmaScript正則表達式( 深入淺出系列之淺出 ^_^ )
使用方法創建對象
var r = new RegExp("表達式","ig");
適合在動態構造匹配對象時使用;
表達式中轉義符需要使用兩次,如\\d;
直接量
var r = /表達式/ig;
使用在任何固定模式的匹配;