美文网首页
正则表达下-2020-01-04

正则表达下-2020-01-04

作者: 增商 | 来源:发表于2020-01-04 16:07 被阅读0次
量词:
  • n+ == {1,∞}
  • n* == {0,∞}


    图片.png
str='abc'
str.match(/\d*/g)
//=>[" "," "," "," "]
图片.png
光标位
  • n? === {0,1}
    //=>["a","a","a",...," "]
  • n{x} //==> x个
  • n{x,y}//=>x-y个


    图片.png
  • n{x,∞}//=>x,
    =>匹配的是x个位放一起输出
图片.png

以什么开头和结尾

var strrt='1asd3';//=>首尾是否还有数字
var regt=/^(\d)|(\d)$/g
console.log(strrt.match(regt));
console.log(regt.test(strrt));

首尾都含有数字

//=>都有呢?
var regta=/^\d[\s\S]*\d$/g //=>当然可以是[任何一个区间]
console.log(regta.test(strrt));

RegExp 对象属性
图片.png

正则表达式是个规则对象,可以去验证


图片.png
源文本,内容.png
source.png

RegExp 对象方法
图片.png

重点:exec游标 lastIndex

clog.png
图片.png
图片.png
图片.png

表达式篇:() 反向引用,子表达式(\x)\1 反向引用第一个(\x)的值

图片.png

多个1的话,取决于写在一起的个数


图片.png
图片.png
var str1='aabb';
var reg1=/(\w)\1(\w)\2/g; //=>aabb
console.log(str1.match(reg1));
console.log(reg1.exec(str1));

方法篇:

注意match()

图片.png
图片.png
图片.png
匹配到和没匹配到返回值-1 和 匹配到位置 search
split()
图片.png
replace():没有访问全局
图片.png
图片.png
图片.png
//=>replace()
var strrp='aabb';
var regrp=/(\w)\1(\w)\2/g;
console.log(strrp.replace(regrp,'$2$2$1$1'));
图片.png
var strrp='aabb';
var regrp=/(\w)\1(\w)\2/g;
console.log(strrp.replace(regrp,function ($,$1,$2){
return $2+$2+$1+$1;
}));
//=>第一个是全局$ 第二个是子表达式 你这里有两个\2 

既然这样我们就可传一个function去匹配一些逻辑上的操作

//=>第一个是全局$ 第二个是子表达式 你这里有两个\2 
var thefir='the-first-name';//=>theFirstName
var regth=/-(\w)/g;
console.log(thefir.replace(regth,function($,$1){
return $1.toUpperCase();
}));
// (子表达式) 可以用于$引用
图片.png
注意这里匹配了两次,第一次的时候拿正则去匹配,到了第二次时,又执行function去配匹,换言之,1每次对应的是不同的,执行了两次,产生两个1

52分08秒正向预查,正向断言,好比是修饰条件,如果你需要找什么东西,如果找abaaaaaaa,找后面跟b的a,修饰条件
var str='abaaaaaa';
var reg=/a(?=b)/g;//=>代表b不参与选择,只参与修饰,描述
clog(str.match(reg)) //=>['a']

非正向预查

reg=/a(?!b)/g;
clog(str.match(reg)) //=>['a','a','a','a','a','a']
图片.png

试题: 求其100000000 //=>每3位断点 100.000.000

var str='10000000000'; //=>10.000.000.000
var reg=/(?=(\B)(\d{3})+$)/g;console.log(str.replace(reg,'.'));
//=>1. 从后往前查,三个位数个数字 (\d{3}) 
//=>2. 多位 (\d{3})+
//=>3. ?=正向断言,意思是把中间的空,以空开头 => 带有非单词边界的三位数字个
//=>3. / () =>/空

相关文章

  • 正则表达下-2020-01-04

    量词: n+ == {1,∞}n* == {0,∞}图片.png n? === {0,1}//=>["a","a"...

  • 正则表达式

    正则表达式(上) 正则表达式(下)

  • Linux命令行与Shell脚本编程大全-shell正则表达式

    本章内容: 定义正则表达式 了解基本正则表达式 扩展正则表达式 创建正则表达式 定义正则表达式 正则表达式是你定义...

  • 正则表达式

    正则表达式 - 教程正则表达式 - 简介正则表达式 - 语法正则表达式 - 元字符正则表达式 - 运算符优先级正则...

  • JAVA 正则表达式语法⼤全

    正则表达式语法 1.常⽤正则表达式 2、正则表达式语法 描述 将下⼀个字符标记符、或⼀个向后引⽤、或⼀个⼋进制转义...

  • 正则表达式

    最近在看jquery的源码,里面包含了很多正则表达式,特意抽时间来整理下正则表达式相关知识。 简介 正则表达式是一...

  • python与正则表达式 2020-01-02(未经允许,禁止转

    正则表达式 正则表达式与程序语言无关。正则表达式做匹配实际上就做3件事:【字符匹配】+【次数匹配】+【逻辑匹配】下...

  • Java正则表达式

    本文主要讲一下什么是正则表达式,正则表达式的一些常用语法,以及我们项目中用到的一些正则表达式. 定义 首先,正则表...

  • 正则相关

    正则表达式基本语法 正则表达式常见字符 正则表达式特殊字符 正则表达式数量词 正则表达式边界匹配 正则表达式逻辑或...

  • 正则表达式系列-1

    正则表达式系列-1正则表达式系列-2正则表达式系列-3正则表达式系列-4 什么是正则表达式 正则表达式就是用事先定...

网友评论

      本文标题:正则表达下-2020-01-04

      本文链接:https://www.haomeiwen.com/subject/dybxactx.html