正则的一些笔记
正则表达式
作用:匹配特殊字符或有特殊搭配原则的字符的最佳选择
两种创建方式:
1.直接量
2.new RegExp();
示例:
var reg = /abc/
var red = /^a/ 以a开头的a
后接i 忽视大小写
g 全局匹配
m 执行多行匹配
[0-9] 查找0-9的一个数
/[^a]/ ^放在[]表示非
(abc|bcd) 匹配abc或bcd
元字符
\w ===[0-9A-z_]
\W ===[^\w]
\d === [0-9]
\D === [^\d]
\s === 空白字符(空格,tab\t,回车\r,换行\n,垂直换行符\v,换页符\f)
\b === 单词边界
\B === 非单词边界
. ==== [^\r\n]查找单个字符,除了换行和行结束符
var reg = new RegExp(“abc”,“i”);
第一个写规则,第二个写属性(第一个还能放其他正则表达式
方法:
reg.test() (检测是否有,返回t/f
str.match() (检测匹配所有的并返回
正则表达式量词
n+ {1,正无穷} 匹配任何包含至少一个n的字符串
n* 匹配任何包含零个或多个n的字符串
n? 匹配任何包含零个或一个n的字符串
n{X} x个一组的匹配
n{x,y} 优先y个一组匹配,如果不行就减一个一组匹配(减到一组不低于x
/abc$/ $-----以…结尾
/^abc/ ^-----以…开头
reg = /(\w)\1/g;
\1 表示引用第1子表达式的内容
正则表达式的属性:
lastIndex 一个整数,标示开始下一次匹配的字符位置
方法
exec()
exec()作用就是在字符串中 用 正则 来找 匹配的字符
返回值是一个数组 , 数组中第一个元素是匹配到的内容,第二个是匹配到内容的首文字在该字符串中的索引,第三个元素则是,你传进去的字符串。
console.log(reg.exec(str));
支持正则表达式对象的方法
str.search(reg) 返回位置,如果没有符合的返回-1
str.split()
str.replace
不能访问全局,但配合正则表达式就行了
其中replace的第二个还能反向引用正则表达式中的值。用符合’$’。$1表示引用第一个匹配到的值
示例:var reg = /(\w)\1(\w)\2/g;
var str = “aabb”;
console.log(str.replace(reg,"$2$2$1$1"));
打印结果为bbaa
进阶版:
var reg = /(\w)\1(\w)\2/g;// \2表示引用第二个值。
var str = “aabb”;
console.log(str.replace(reg,function($,$1,$2){
return $2+$2+$1+$1;
} ) );
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
