js--正则表达式

regExp

转义字符 : **
回车 相当于一个 \r\n
\n 换行
\r 行结束符
\t 制表符

正则表达式的作用

匹配特殊字符或有特殊搭配原则的字符的最佳选择。

reg.test(str) 测试方法

var reg = /abc/i || var reg = new RegExp(‘规则’ , ‘方法’)

如果不加new 的话 引用同一个方法,指向同一房间

在这里插入图片描述

规则:(贪婪匹配)
/ ^ a/ :以a开头

i : 会略大小写;
g: 执行全局匹配;

m:执行多行匹配;
在这里插入图片描述
表达式:
[] 一个表达式代表一个区间;
[0-9A-z] [cd]…

如果尖角号写在表达式内,如:
/【^a】/ 表示不是以a开头的 取非

var reg = / [0-9][0-9][0-9]/g

()也算一个表达式
/(abc | bcd)/ 匹配abc 或者bcd

元字符:特殊含义的字符

\w === [ 0-9A-z_ ]
\W === [ ^\w ]

\d === [ 0-9 ]
\D === [ ^\d ]

可以查找空白字符
\s === \n换行符 , \f 换页符, \r 回车符, \t 制表符, \v垂直制表符 , 还有空格

\S === [ \s ]

\b === 单词边界
\B === 非单词边界

. === [ ^\r\n]

量词:

n+ : 代表这个变量可以出现1到无数次;
n* : 0-正无穷
n? : 0或者1个
n{x} : 匹配 x 个
n{x,y} : 匹配x-y个
^n : 以n为开头
n$ : 以n为结尾
如 :
var reg = / \w+ /g | / \w* / g

正则表达式的属性

global : regexp对象是否具有标志g;
ignoreCase : regexp对象是否具有标志i;
source : 查看regexp的规则;

test : 检索字符串中指定的值,返回true 或 false;

exec :
lastIndex : 一个整数,标志开始下一次匹配字符的位置;
exec方法基于lastIndex方法实现,如果全局g,安索引位向后查找;

正向预查

? = n
var reg = / a(? = b )/g;匹配a后面是b的字符;
? ! b
var reg = / a(? ! b )/g; 匹配a后面不是b的字符;

非贪婪匹配

var reg = / a+ /g; 贪婪匹配
在这里插入图片描述

扩展知识

var reg = / (\w)\1 /
括号里面的代表子表达式,写在()里他会保存引用,然后 \1 代表反向引用 ,就可以实现匹配连续出现的字符
在这里插入图片描述

字符串方法:
split(‘a’) : 以a拆分字符串

replace(‘a’, ‘b’)字符串替换方法,缺能替换全局,找到就停止;我们可以利用正则表达式方法;

第二个参数还可以写方法如:
str.replace(reg, function (第一个参数$(全局), 第二个参数 $(1,2…匹配字符引用, 可以写多个引用参数)) {
})
在这里插入图片描述
str.match()
实现 形如’aabb’的字符串,反向输出’bbaa’

在这里插入图片描述

toUpperCase() : 返回大写
toLowerCase() : 返回小写

字符串去重

在这里插入图片描述

将 — 的写法变成小驼峰式

在这里插入图片描述

倒着查 将数字 变成3位一打点的形式

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值