首页 > 其他分享 >正则表达式中的小括号"()"。是代表分组的意思。 如果再其后面出现\1则是代表与第一个小括号中要匹配的内容相同

正则表达式中的小括号"()"。是代表分组的意思。 如果再其后面出现\1则是代表与第一个小括号中要匹配的内容相同

时间:2023-11-15 18:00:23浏览次数:41  
标签:代表 匹配 world 正则表达式 ll 分组 str 小括号 中要

以下代码的执行后,str 的值是:

var str = "Hellllo world";
str = str.replace(/(l)\1/g, '$1');

A
Helo world

B
Hello world

C
Helllo world

D
Hellllo world

正确答案:B

对于正则表达式 /(l)\1/g,其中(l)是第一个分组,\1指向第一个分组,即\1重复了第一个分组的内容,所以该正则表达式可以表示成/(ll)/g

而对于第二个参数$1,表示用第一个分组的内容 l 对匹配到的部分进行替换(即 ll 替换成 l ),同时正则表达式有g表示全局匹配,所以4个ll被替换成2个ll。

关于正则表达式 \1 \2之类的问题
我们创建一个正则表达式
var RegExp = /^(123)(456)\2\1$/;
这个正则表达式匹配到的字符串就是
123456456123
创建另外第二正则表达式
var RegExp1 = /^(123)(456)\1$/;
这个正则表达式匹配到的字符串是
123456123
创建另外第三正则表达式
var RegExp1 = /^(123)(456)\2$/;
这个正则表达式匹配到的字符串是
123456456

这个\1 \2...... 都要和正则表达式集合()一起使用
简单的说就是
\1表示重复正则第一个圆括号内匹配到的内容
\2表示重复正则第二个圆括号内匹配到的内容

1、定义

(l)表示第一个分组里有l

\1表示所获取的第1个()匹配的引用

/g表示全局匹配

$1表示第一个分组里的值l

2、所以

(l)\l 表示匹配两个连续字符ll,即ll

(l)\l/g 表示全局匹配两个连续字符ll即llll

str.replace(/(l)\1/g, '$1') 表示将ll替换成l

3、最终

Hellllo =》 Hello

标签:代表,匹配,world,正则表达式,ll,分组,str,小括号,中要
From: https://www.cnblogs.com/longmo666/p/17834429.html

相关文章

  • idea中的 debug 中小功能按钮都代表的意思
    1.stepover步过----->一行一行的往下走,如果这一行中有方法那么不会进入该方法,直接一行一行往下走,除非你在该方法中打入断点2.stepinto步入--->可以进入方法内部,但是只能进入自己写的方法内部,而不会进入方法的类库中3.Forcestepinto强制步入---->可以步入任何方法,包括......
  • class是js关键字,jsx中要用className
    下面的JSX代码中,哪一个无法达到预期的效果?AHelloWorldBC{msg}DLeoEF正确答案:C选cclass是js关键字,这里要用className。对于E选项,在jsx中直接写行内样式时不能采用引号,而是style={{color:'red'}}的方式选择C,在jsx里面,要把class换成className才能正确编译,表......
  • cpu i几 后面数字代表什么
    表示区别不同处理器的型号、代数。2开头就是第二代,比如i52500,3开头就是三代,4开头就是四代表示区别不同处理器的型号、代数,如i74790K,4是代表第四代酷睿智能处理器。第二位“5”“6”“7”“8”“9”:这些数字代表处理器等级排序,数字越大性能等级相对越高。第三位“3”“5”“......
  • Python中\t代表什么?如何使用?
    在Python中,\t代表制表符,代表着四个空格,也就是一个tab,它的主要作用是对齐表格数据的各列,使得输出更易于阅读和理解。那么Python中\t代表什么?如何使用?我们来看看详细内容介绍。在Python中,\t是一个转义字符序列,它代表了一个水平制表符。水平制表符可以将文本对齐到特定的列,......
  • 鳄鱼指标的3颜色线都代表什么?澳福官网一段话明白了
    投资者一直在使用鳄鱼指标进行交易,但是对指标上面的3种颜色的K线都代表什么不明白?直到看到澳福官网一段话才明白,原来这么简单!鳄鱼指标,这一工具是由三条移动平均线组合而成。具体来说,蓝线(鳄鱼的下巴) 是用以绘制图表时间框架的平衡曲线。(13段 顺畅移动平均线,以8栏的速度向未来方向......
  • 这些文件都是7-Zip自解压缩文件(SFX)的默认模板。每个文件名后缀代表不同类型的操作系统
    这些文件都是7-Zip自解压缩文件(SFX)的默认模板。每个文件名后缀代表不同类型的操作系统和处理器架构。Default.SFX:这是用于32位Windows操作系统的默认SFX模板,其中包含了7-Zip解压程序。Default64.SFX:这是用于64位Windows操作系统的默认SFX模板,其中包含了7-Zip解压程序。WinCon.S......
  • getMonth():获取当前月(注意:返回数值为0~11,需要自己+1来显示),0代表一月份,如果要显示2位
    getMonth():获取当前月(注意:返回数值为0~11,需要自己+1来显示),0代表一月份,JavaScriptDate对象 日期选择控件的主要功能是向用户提供包含年、月、日的日期数据并并允许用户对其修改。如果要捕获用户修改日期选择控件的数据事件响应,需要为DataPicker添加一个OnDateChangedListene......
  • 关于MRS编译生成数据代表含义
    当MRS编译完成后,编译界面显示信息如下,其中数据代表含义如下: text段是程序代码段,由编译器在编译链接时自动计算,表示程序代码段大小。data段包含已初始化的全局变量和静态变量。bss段是英文BlockStartedbySymbol的简称,通常是指用来存放程序中未初始化的全局变量的一块内存......
  • 1px代表什么意思
    在CSS中,px是一个长度单位,代表像素(pixel)。1px就是屏幕上的一个像素点。像素是测量图像显示的最小单位,代表了屏幕上的一个点。比如,如果你的屏幕分辨率是1920x1080,那么它就是由1920个像素点横向和1080个像素点纵向组成的。在网页设计中,像素是最常用的单位之一。例如,你可以用它来设......
  • C# 数字后面有个M字母 所代表的含义,还有哪些类似的字母
    在C#中,数字后面的"M"表示该数字是一个双精度(decimal)类型的数值。双精度类型是C#的一种数据类型,用于存储较大范围和更高精度的十进制数值。通过在数字后面添加"M",可以告诉编译器将该数字解析为双精度类型。例如,你可以使用以下方式声明一个双精度类型的数值:decimalnumber=10.5M;......