这是我参与更文挑战的第18天,活动详情查看: 更文挑战
什么是正则表达式?
正则表达式(Regular Expression简称RegExp)是一种描述字符串结构的语法规则。 匹配一系列符合某个句法规则的字符串搜索模式。搜索模式可用于文本搜索和文本替换。
常用的正则表达式有两种:
一种是POSIX规范兼容的正则表达式,用于确保操作系统之间的可移植性。
一种是Perl正则表达式,JavaScript中就是基于Perl的正则表达式。
如何使用正则表达式
正则表达式语法
/正则表达式主体/修饰符(可选)
来看个例子:
<script>
var reg = /gW/i;
// gW 是正则表达式主体,用于检索
//i 是修饰符,表示忽略大小写
</script>
正则表达式修饰符
g 用在目标字符串中实现全局匹配
i 忽略大小写
m 实现多行匹配
u 以Unicode编码执行正则表达式
y 粘性匹配,仅匹配目标字符串中此正则表达式的lastIndex属性指示的索引
正则表达式方法
正则表达式可以使用RegExp对象提供的exec()和String提供的match()方法进行搜索匹配。
exec方法
exec方法用于在目标字符串中搜索匹配,返回一个数组,一次仅返回有个匹配结果。
<script>
var str = 'sfvnslgkslgscutoscwt';
var reg = /sc/i;//定义正则表达式
console.log(reg.exec(str));
</script>
返回数组的第一个元素是匹配到的字符串,第二个元素是下标,第三个元素是目标字符串。
match方法
match方法除了可以在字符串中检索到符合条件的值,还可以在目标字符串中根据正则表达式匹配出所有符合要求的内容。
<script>
var str = 'sCfvnslgkslgScutoscwt';
var reg = /sc/gi;//定义正则表达式
var reg2 = /^sc/gi;//^ 表示匹配字符串开始的位置
var reg3 = /sc$/gi;//$ 表示匹配字符串结束的位置
console.log(str.match(reg));
console.log(str.match(reg2));
console.log(str.match(reg3));
</script>
这里的开始和结束的位置表示的是以sc为开始的字符串,和以sc为结尾的字符串。大家可以细细体会一下。