js笔记07-正则表达式RegExp

2018-01-17  本文已影响13人  大飞哥

两种表示方式
/正则表达式/ 或者 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');
上一篇下一篇

猜你喜欢

热点阅读