正则表达式

2016-12-21  本文已影响11人  Hunter_Gu

正则表达式:从固定字符串中,得到某种特征的字符串。

   var pat = new RegExp('hello');
   var pat = /hello/;

正则表达式是对象

typeof pat;//'object'
    var pat = /hello/;
    var str = 'hello world';
    pat.test(str);//true
    pat.test('hel');//false('hel'中不包含'hello')
    var pat = /hello/;
    var str = 'hello world';
    pat.exec(str);//['hello']
    pat.test('hel');//null('hel'中不包含'hello')
    var str = 'hello world';
    var pat = /world/;
    str.search(pat);//6
    var str = 'hello world';
    var pat = /world/;
    str.replace(pat,'man');//'hello man'
    var str = 'hello world';
    var pat = /world/;
    str.match(pat);//['world']
var str = 'hello world   , oh I am'
var pat = /\s+/;
str.split(' ');//["hello", "world", "", "", ",", "oh", "I", "am"]
str.split(pat);//["hello", "world", ",", "oh", "I", "am"]

正则的用途:
1.一般用于校验
2.关键词的顾虑
3.内容的检测
4.模版替换

   var pat = /hello/g;
   var str = 'hello world hello day';
   str.match(pat);//['hello','hello']

否则:

   var pat = /hello/;
   var str = 'hello world hello day';
   str.match(pat);//['hello']
   var pat = /hello/i;
   var str = 'HELLO world';
   str.match(pat);//['HELLO']
   var pat = /h+/;//包含一个或者多个h
    var str = 'aa dd aab abb33abbb88abbbbb';
    var pat = /ab*/g;
    str.match(pat);//["a", "a", "a", "ab", "abb",  "abbb", "abbbbb"]
    var str = 'aa dd aab abb33abbb88abbbbb';
    var pat = /ab?/g;
    str.match(pat);//["a", "a", "a", "ab", "ab",  "ab", "ab"]
   var str = '100, 1000 or 10000';
   var pat = /\d{4}/g;
   str.match(pat);//['1000','1000'];
   var str = '100, 1000 or 10000';
   var pat = /\d{3,4}/g;
   str.match(pat);//['100','1000','1000'];
   var str = '100, 1000 or 10000';
   var pat = /\d{3,}/g;
   str.match(pat);//['100','1000','10000'];
上一篇 下一篇

猜你喜欢

热点阅读