正则表达式简介
正则表达式(Regular Expression),又称规则表达式,是一种文本模式,它提供一种灵活的方式来检查一个字符串是否与某种模式匹配。它可以用来检查一个字符串是否符合某种语法规则,也可以用来从一个字符串中提取出符合某个语法规则的子串。正则表达式可以用来编写强大的文本处理程序,它是一种有用的工具,可以加快程序的开发过程。
正则表达式语法
正则表达式的语法主要由字符、元字符、模式修正符组成。
- 字符:字符表示一个字符。比如a、b、c、1、2等等。
- 元字符:元字符表示一个特殊的意义,比如\d表示任意一个数字,\w表示任意一个字母或数字,\s表示任意一个空白符等等。
- 模式修正符:模式修正符表示对正则表达式的修饰,比如i表示忽略大小写,g表示全局匹配,m表示多行匹配等等。
正则表达式的使用方法
JavaScript中使用正则表达式主要有两种方法:RegExp构造函数和字面量表示法。
// 使用RegExp构造函数 var regExp = new RegExp('\\d+', 'g'); // 使用字面量表示法 var regExp = /\d+/g;
上面的代码中,我们使用RegExp构造函数和字面量表示法创建了一个正则表达式,它匹配一个或多个数字,并且是全局匹配(g)。
正则表达式的常用方法
JavaScript中正则表达式的常用方法有:test()、exec()、match()、replace()、search()等等。
- test():用于测试字符串是否符合正则表达式的规则,如果符合则返回true,否则返回false。
var regExp = /\d+/; var str = '123'; console.log(regExp.test(str)); // true
var regExp = /\d+/; var str = '123'; console.log(regExp.exec(str)); // ['123']
var regExp = /\d+/; var str = '123'; console.log(str.match(regExp)); // ['123']
var regExp = /\d+/; var str = '123'; console.log(str.replace(regExp, 'abc')); // 'abc'
var regExp = /\d+/; var str = '123'; console.log(str.search(regExp)); // 0