正则表达式笔记(二)
JS 中的正则表达式概述在 JS 中,正则表达式是个 声明JS 中的正则表达式有两种声明方式(对象字面量 / 构造函数),都会生产一个 /pattern/flags new RegExp(pattern[,flags]) RegExp 对象实例 var pattern = /quicks(brown).+?(jumps)/ig; var pattern = new RegExp("quicks(brown).+?(jumps)","ig"); 实例之后的
注意使用构造函数声明正则表达式的时候,需合理使用转义符。 方法
在正则表达式设置了 var result = re.exec('The Quick Brown Fox Jumps Over The Lazy Dog'); // console.log(result) // ["Quick Brown Fox Jumps","Brown","Jumps"] var pattern = /ab*/g; var str = 'abbcdefabh'; var matchArray; while ((matchArray = pattern.exec(str)) !== null) { var msg = 'Found ' + matchArray[0] + '. '; msg += 'Next match starts at ' + pattern.lastIndex; //console.log(msg); // Found abb. Next match starts at 3 // Found ab. Next match starts at 9 } 使用循环的时候,不要把正则表达式的操作放置在循环体中(这样每次都会重新生成
var pattern = /^d{4}-d{2}-d{2}$/; var result = re.test('2010-12-20'); console.log(result) // true 在正则表达式设置了 var pattern = /^d{4}-d{2}-d{2}$/g; pattern.test('2010-12-20'); // true pattern.test('2010-12-20'); // false
String 对象方法
在正则表达式设置了 var str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'; var re = /[A-E]/gi; var matches = str.match(re); console.log(matches); // ['A','B','C','D','E','a','b','c','d','e'] 如果正则表达式没有设置 var str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'; var re = /[A-E]/i; var matches_1 = str.match(re); var matches_2 = re.exec(str) console.log(matches_1,matches_2) //[ 'A',index: 0,input: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz' ] 该返回结果包含匹配的字符串,还有一个额外的
该方法用来寻找某个正则表达式在字符串中第一次匹配成功的位置,失败的时候返回 这个方法只能找到“第一次”,即使设置了 "1234".search(/^d+$/g) == 0 // true "5678".search(/^d+$/g) == 0 // true var pattern = /^d+$/g; pattern.test("1234"); // true pattern.test("5678"); // false
正则表达式是否设置了 var matchArray = "a b c".split(/s+/); console.log(matchArray); // ["a","b","c"] 也可以设置第二个参数
var matchArray = "a b c".split(/s+/,2); console.log(matchArray); // ["a","b"] (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |