首页 技术 正文
技术 2022年11月15日
0 收藏 558 点赞 4,963 浏览 950 个字

1.var reg=/./; var reg=/\./的区别??

前者代表任意一个字符,后者代表这个字符串中得有一个.。

2.?的使用??

如果单独的一个字符串后面带? ,

var reg=/\d?/  ;  /n?/  ;   d?代表的意思是至少有0个和1个数字 ; n ? 代表0个或1个带n的字符  。

如果是量词+和x ,n{x}后带? 则会取消正则的贪婪性

var reg=/\d+?/  ;

var st=”123hello”

console.log(reg.exec(st))

3.捕获

(1)普通捕获 exec()  match()

  普通捕获有懒惰性,给正则添加一个修饰符g可以解决,match()是将所有捕获的内容放在一个数组中并返回,match()就是对exec()的封装

(2)分组捕获  exec()  match()

  var reg=/(a)(b)/;

  exec()和match()在非全局捕获下捕获到的是一样的,不仅捕获到大正则的内容,也捕获到分组内容;

  exec()和match()在全局捕获下捕获到的是不一样的,exec()捕获到的是大正则和小分组,而match()捕获到的只有大正则

(3)分组捕获的优势 ???

  a:可以提升优先级  b:可以捕获引用

  \1代表与分组1中一样的内容     \2代表与分组2中一样的内容

  分组的结果存在正则类RegExp的$number的属性下

  \1与RegExp.$1都是分组引用

  \1只能在正则表达式中使用,RegExp.$1可以在外面使用,且二者都是在捕获完成的条件下使用

(4)在捕获过程中怎样取消捕获分组中的内容???

  在那个分组前加?:

  var reg=/a(?:b)/;

  var st=”ab”;

  console.log(reg.exec(st))

4.replace()字符串的方法,用于替换,两个参数,第一个参数是被替换的,第二个参数是替换他的,返回值是替换它的新字符串,但是并没有改变原来的字符串

(1)如果第一个值是字符串的话,只改变一次;

(2)如果第一个值是正则的话,捕获一次改变一次;

(3)如果第二个参数是匿名函数,每捕获一次这个匿名函数都会执行一次,return的是什么,就替换成什么,这个匿名函数的arguments有三个元素 a:被替换的元素;b:索引; c:原字符串

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,993
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,507
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,350
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,135
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,768
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,845