JavaScript正则表达式

转义字符功能
1.
\转义字符(让后面的例如"显示)
2.
\r行结束
\n换行(多行)
\t制表符(缩进四个空格)
3.
\换行加转义字符将空格转义掉,可以写多行字符串。

正则表达式的创建

var reg = /abc/
2.
var reg = new RegExp(“规则”,属性)
3.
var reg = new RegExp(reg) 两个不同的正则
var reg = RegExp(reg) 两个相同的正则

修饰符(属性)
1.
var reg = /abc/i 忽视大小写
2.
var reg = /abc/g 全局匹配(匹配多个)
3.
var reg = /^abc/ 开头(以a开头)
4.
var reg = /abc / 结 尾 ( 以 / 结尾(以 /开头)
5.
ar reg = /abc/m 多行匹配(多行开头结尾匹配)

方法
1.
tip reg.test(校验字符串,布尔值)
2.
str.mach(reg)符合规则的片段选出来
3.
reg.exec() lastIndex
str.search() 匹配返回到的位置匹配不到返回-1
str.split() 拆分字符串
str.replace(‘搜索项’,‘替换项’) 没有访问全局的能力,需要配合正则表达式
例如:/(\w)\1(\w)2/
var str = ‘aabb’;
str.replace(reg."$2$2$1$1") 1 代 表 第 一 个 表 达 式 中 的 内 容 / / f u n c t i o n 里 的 两 个 1代表第一个表达式中的内容 //function里的两个 1//function 会 转 义 或 者 s t r . r e p l a c e ( r e g . f u n c t i o n ( 会转义 或者 str.replace(reg.function( str.replace(reg.function(,$1,$2){
return $2+$2+$1+$1

})

str.toUpperCase
str.toLowerCase

var reg = /-(\w)/g
var str = “the-first-name”

str.replace(reg,function($,$1){
return $1.toUpperCase
})
正向预查
var str = /a(?=b)/g
var str = /a(?!=b)/g

表达式(表达式里可以写元字符)
var reg = /[1234567890][1234567890][1234567890]/g
var reg = /[0-9A-z]/g
var reg = /[a][v]/g 非
var reg = /(abc|bcd)/g 连着取

元字符
/\w/ === [0-9A-z_]
/\W/ === [^\w]
/\d/ === [0-9]
/\D/ === [^\d]
/\s/ === [\t\n\r\v\f ] 空白字符
/\S/ === [^s]
/\b/ === 单词边界
/\B/ === 非单词边界
\t制表符\n换行符\f换页符 \v换页符垂直制表符 需要匹配时需要在内容中写入才能匹配,但正则表达式里面输入的任何内容都算匹配内容
. === [^r\n]

匹配一切字符
[\s\S]/g
[\d\D]/g

量词
n+ 1-无穷
n* 0-无穷 会匹配空
n? 0-1 会匹配空
n{x} x个
n{x,y} x-y个
n{x,} x-无穷个

贪婪匹配:能多匹配就不少匹配
非贪婪匹配 触发需要在任何一个量词厚多加一个?
?? ?代表0-1的意思,所以能取0不取1

匹配一个字符串查找首尾是否含有数字
var reg = /^\d|\dKaTeX parse error: Expected 'EOF', got '\s' at position 59: …= str.replace(/\̲s̲*/g,""); 去除两头空格…/g,"");
去除左空格: str = str.replace( /^\s*/, “”);
去除右空格: str = str.replace(/(\s*$)/g, “”);

var reg = /^\d[\s\S]]\d$/g (区间拉伸)
字符串去重
var str = “aaaaaaaaaaaabbbbbbbbbbbbbbbccccccccccc”
var reg = /(\w)\1
/g
str.replace(reg,"KaTeX parse error: Expected 'EOF', got '\B' at position 55: …var reg = /(=?(\̲B̲)(\d{3})+)/g
str.replace(reg,.)

正则表达式属性
reg.ignoreCase 是否忽视大小写
reg.global 是否全局匹配
reg.multiline 是否多行匹配
reg.source 返回正则表达式写的内容
reg.lastIndex 游标匹配(需要配合g属性使用)

子表达式
reg = /(\w)\4/g 反向引用子表达式中的内容,可以实现aabb,形式的内容(使用exec方法或mach不加g子表达式会挂在类数组的索引位上)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值