正则使用规则

正则使用规则

正则
const reg=new RegExp(/123/,'g')
 ^ 表示匹配行首的文本
 $ 表示匹配行尾的文本
 大括号 表示量词 var reg = /^abc{3}$/; //c重复3次
 中括号 var reg = /^[abc]$/; //a 可以b也可以 c也可以a||b||c,[^]括号内加^表示非[]内任何一个元素
 小括号 表示优先级 var reg = /^(abc){3}/; //abc重复3次
 空格 [ ]
 换行 [\r\n]
 .点表示任意字符
 点符号 用来查找除了换行符和行结束符以外的任意单个字符

 #量词符

 *表示0至多个 
 +表示1至多个 
 ?表示0或一个 
 {n}表示固定n次 
 {n,}表示n到多次
 {m,n}表示m到n次

 ## 预定义类

 \d 表示0-9里面任何一个数字
 \w 表示任何一个数字、字母、下划线
 \s 表示空格
 const reg=new RegExp(/^123/)  //、/^123/代表首字母必须是123的字符串
 const reg=new RegExp(/^123$/)  //、/^123$/代表首字母和尾字母必须是123的字符串,也就是必须是123的字符串
 const reg=new RegExp(/^[123]/)  //、/^123/代表首字母必须是123其中任意一个的字符串
 const reg=new RegExp(/[123]$/)  //、/[123]$/代表尾字母必须是123其中任意一个的字符串
 const reg=new RegExp(/[^123]/)  //、/[^123]/代表字符串里面不能是[123]里面的任何一个数字

一旦^$连用,就表示字符串从开始到结束值是一个整体
 const reg=new RegExp(/^[123]$/)  //、/^[123]$/代表整个字符串只能是123里面任意一个数字组成的,且个数是一个
 const reg=new RegExp(/^\d*$/)  //、/^[\d]*$/代表整个字符串是0-9里面任意一或多个组成的字符串
let str='122133'
let sss=str.replace(reg,'**')
console.log(reg.test(str));
console.log(sss);

//捕获组直接替换对应捕获内容
date.replace(/(\d+)-(\d+)-(\d+)/, '$1年$2月$3日')

/** 正向先行断言*/
let str = "ajhsjk=jsaksj=";
 /** 第一个点是匹配任意字符,*是0至多个,(?==)是等号前先行断言 */
 const reg = /.*(?==)/;
 const res = str.match(reg);
 console.log(res); //"ajhsjk "
 
/** 正向先行断言*/
let str = "ajhsjk=jsaksj=";
/* 第一个点是匹配任意字符,+是1至多个,[^=]是表示匹配除了等号之外的多个字符,(?==)是等号前先行断言 */
 const reg = /[^=]+(?==)/g;
 const res = str.match(reg);
 console.log(res); //"ajhsjk" "jsaksj"

 /** 正向后行断言 */
 /** 第一个点是匹配任意字符,*是0至多个,(?<==)是等号后行断言 */
 const reg1 = /(?<==).*/;
 const res1 = str.match(reg1);
 console.log(res1); //' jsaksj'

 /** 负向先行断言 */
 let str2 = 'sajhjk=ajs=mjh'
 const reg2 = /sa(?!=)/;
 const res2 = str2.match(reg2);
 console.log(res2); //'sa'

 /** 负向先行断言 */
 let str3 = 'sajhjk=ajh=mjl'
 const reg3 = /(?<!=)jl/;
 const res3 = str3.match(reg3);
 console.log(res3); //'jl'
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值