js筆記07-正則表達式RegExp

兩種表示方式
/正則表達式/ 或者 new RegExp('正則表達式')

var re1 = /ABC\-001/;
var re2 = new RegExp('ABC\\-001');  //注意 轉義字符 \、

re1; // /ABC\-001/
re2; // /ABC\-001/

查看是否匹配

var re = /^\d{3}\-\d{3,8}$/;
re.test('010-12345'); // true
re.test('010-1234x'); // false
re.test('010 12345'); // false

切分字符串
可以識別多個空格

'a b   c'.split(' '); // ['a', 'b', '', '', 'c']
'a b   c'.split(/\s+/); // ['a', 'b', 'c']
'a,b, c  d'.split(/[\s\,]+/); // ['a', 'b', 'c', 'd'] 逗號
'a,b;; c  d'.split(/[\s\,\;]+/); // ['a', 'b', 'c', 'd'] 分號

分組

var re = /^(\d{3})-(\d{3,8})$/;
re.exec('010-12345'); // ['010-12345', '010', '12345']
re.exec('010 12345'); // null

貪婪匹配

var re = /^(\d+)(0*)$/;
re.exec('102300'); // ['102300', '102300', '']

var re = /^(\d+?)(0*)$/;// 加問號?
re.exec('102300'); // ['102300', '1023', '00']

全局搜索
增加標志g

var r1 = /test/g;
// 等價于:
var r2 = new RegExp('test', 'g');
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容