今天,我们来了解一下JavaScript中的正则表达式吧!
一.正则表达式
1.概念:RegExp 是正则表达式的缩写。当您检索某个文本时,可以使用一种模式来描述要检索的内容。RegExp 就是这种模式。简单的模式可以是一个单独的字符。更复杂的模式包括了更多的字符,并可用于解析、格式检查、替换等等。您可以规定字符串中的检索位置,以及要检索的字符类型,等等。
正则表达式,又称规则表达式。英文名为Regular Expression,在代码中常简写为regex、RegExp或RE。
2.用处:正则表达式用于定义一些字符串的规则,计算机可以根据正则表达式,来检查一个字符串是否符合规则,可以将字符中符合规则的内容提取出来。如:手机号的规则,首先11位数字的手机号码,以1开头,第二位(3-9),第三位以后是任意9个数字。
3.语法:。
var 变量=new RegExp("正则表达式","匹配模式");使用typeof检查正则对象,则会返回object。
量词:通过量词可以设置一个内容出现的次数,量词只对它前面一个内容起作用
元字符:
var reg=new RegExp("a"); 这个表达式可以用来检查一个字符串中是否含有字符a;在构造函数中可以传递一个匹配模式作为第二个参数;i 忽略大小写、g 全局匹配。
4正则表达式的方法:RegExp 对象用于存储检索模式
test()使用这个方法可以用来检查一个字符串中是否符合正则表达式的规则。如果符合则返回true,否则返回false
二.创建正则表达式
1.使用字面量的方法创建正则表达式
2.使用构造函数创建正则表达式
三.JavaScript字符串与正则表达式相关的方法
1. 支持正则表达式的String对象的方法
split() 把字符串分割为字符串数组。该方法可以传递一个正则表达式作为参数,这样,方法将会根据正则表达式去拆分;该方法即使不指定全局匹配,也会全部拆分字符串
search() 可以搜索字符串中是否含有指定内容如果搜索到指定内容,则会返回第一次出现的索引,如果没有搜索到到返回-1,它可以接受一个正则表达式作为参数,然后会根据正则表达式去检索字符串,serach() 只会查找第一个,即使设置全局匹配也不会有效果
macth()可以根据正则表达式,从一个字符串中将符合条件的内容提取出来,默认情况下我们的macth只会找到第一个符合要求的内容,找到以后就停止检索,我们可以设置正则表达式为全局匹配模式,这样就会匹配到所有的内容,可以为一个正则表达式设置多个匹配模式,且顺序无所谓;match()会将匹配到的内容封装到一个数组中返回,即使只查询到一个结果
replace()可以将字符串中指定内容替换为新的内容