JavaScript正则表达式-反向引用

使用括号“()”进行分组,使子表达式(子模式)可以作为整体独立被修饰,子表达式所匹配的结果会被记录下来并可以单独被访问。

/(a(b(cd){2})+)EF/

则各引用分别对应:

\1  对应(a(b(cd){2})+)

\2  对应(b(cd){2})

\3  对应(cd)

str = "pic1.gif gif2.gif pic.gif";

reg = /(.+)([1-4])\.\1/;

arr_m = str.match(reg);//arr_m = ["gif2.gif","gif","2"]

解析:(.+)匹配gif

([1-4])匹配1~4之间的一个数字

\.紧跟"."

\1引用第一个子表达式

str = "numA2 numA2numB3C4C4 numD5E6E6numD5E6D5";

reg = /(num([A-Z][0-9]){2})\2+/g;

arr_m = str.match(reg);//arr_m = ["numB3C4C4","numD5E6E6"];

str = "Happy is the Selection";

reg = /(^\w+)\b(.*)\b(\w+$)/;

arr_m = str.match(reg);

str2 = str.replace(reg,)

时间: 2024-10-04 19:05:37

JavaScript正则表达式-反向引用的相关文章

PHP核心技术与最佳实践之正则表达式反向引用

PHP核心技术与最佳实践之正则表达式反向引用 反向引用用于重复搜索前面某个分组匹配的文本.例如:"\1"代表分组1匹配的文本: \b(\w+)\b\s+\1\b 要反向引用分组捕获的内容,可以使用"\k<word>"上个例子: \b(?<word>\w+)\b\s+\k<word>\b [示例]:UBB标签代码 UBB标签用来在论坛和留言板中代替HTML,实现一些简单的HTML效果,同时防止滥用HTML出现安全问题. 最终UBB标

backreference Oracle正则表达式中的反向引用

这是Oracle对正则表达式的backreference的描述 从定义中可以看到,当匹配表达式中已()的形式将一个子串包含起来,后面就可以以\?的形式来引用.\1对应第一个(),\2对应第二个... 反向引用的引入使得正则表达式的匹配功能变得更加强大,介绍两个在oracle正则函数中的应用 regexp_like regexp_like('1211233','^([0-9])(\d)\1\1\2(\d)\3$') 上面这个例子中,匹配表达式里,\1表示第一个([0-9]),这个表达式要判断字符串

Delphi 正则表达式语法(8): 引用子表达式 - 也叫反向引用

Delphi 正则表达式语法(8): 引用子表达式 - 也叫反向引用 //准备: 我们先写一个搜索所有英文单词的表达式 var   reg: TPerlRegEx; begin   reg := TPerlRegEx.Create(nil);   reg.Subject := 'one two three four five six seven eight nine ten';   reg.RegEx  := '\b[A-Za-z]+\b'; //这个表达式就可以找到所有的英文单词   reg.

JavaScript正则表达式知识点整理

1  正则表达式 使用单个字符串来描述.匹配一系列符号某个句法规则的字符串,可以简单理解为按照某种规则去匹配符合条件的字符串. Ps:https://regexper.com/  可帮助理解正则表达式,正则表达式工具 2  regexp对象 JavaScript通过内置对象RegExp支持正则表达式,有两种方法实例化RegExp对象:字面量.构造函数 3  预定义类 .         等价于 [^\r\n]          即除了回车符和换行符之外的所有字符 \d        等价于[0-

javascript 正则表达式补充

定义 JavaScript种正则表达式有两种定义方式,定义一个匹配类似 <%XXX%> 的字符串 1. 构造函数 var reg=new RegExp('<%[^%>]+%>','g'); 2. 字面量 var reg=/<%[^%>]%>/g; g: global,全文搜索,默认搜索到第一个结果接停止 i: ingore case,忽略大小写,默认大小写敏感 m: multiple lines,多行搜索 元字符 正则表达式让人望而却步以一个重要原因就是其转

javascript正则表达式(RegExp)简述

首先我们来思考以下两个个场景 我们使用window操作系统,有时候需要找一个文件,刚刚好这个文件我不知道放哪里去了,这个时候我们该怎么办呢? 我们使用word写论文的时候,不小心将"订价"中的"订"字写成了"定",这时候我们该怎么办呢? 对于第一种情况,我们就会用到系统的文件搜索功能,输入文件的名字,系统就会帮我们找到这个文件的位置. 对于第二种情况,我们会用到软件提供的替换功能,首先查找错误的内容,然后将错误的内容替换成正确的内容. 类似的场景

web前端之JavaScript正则表达式

web前端之JavaScript正则表达式 后面有代码: \d 表示数字 \d? ?表示0个或者一个 \d+ +表示一个或者多个 \d{3} 表示三个 \d{3,5} 表示三到五个 \d{3,} 表示至少出现3次 \d* *表示0到任意个 \b 表示单词边界 \B 表示非单词边界 \bis\b 表示查找" is "的 . 表示任意字符 \ 表示转译 http:(\/\/.+\.jpg) 用()进行分组 $1 获取其内部东西 []表示或 ^表示开头 $表示结尾 g表示全局 \d{4}[/

javascript正则表达式简介

javascript正则表达式 javascript正则表达式 regular expression是一个描述字符模式的对象: ECMAScript中的RegExp类表示正则表达式: String和RegExp都定义了使用正则表达式进行强大的模式匹配.文本检索和替换的函数: 正则表达式主要用来验证客户端的输入数据: Ⅰ.创建正则表达式 类似于创建字符串,可以使用new运算符也可以采用字面值: 参数 含义 g 全局匹配 i 忽略大小写 m 多行匹配 下文中的javascript代码是通过 Ecli

JavaScript正则表达式二

预定义类匹配常见的字符类. 常见的预定义类字符有:.除了回车符和换行符之外的所有字符 \d 数字字符 \D 非数字字符 \s 空白符 \S 非空白符 \w 单词字符(如数字.字母和下划线) \W 非单词字符 正则表达式还提供了几个常用的边界匹配字符,如:^ 以前开始 $ 以末开始 \b 单词边界 \B 非单词边界 非贪婪模式:让正则表达式尽可能少匹配,一旦匹配成功就不再匹配. 贪婪模式:让正则表达式尽可能多匹配,匹配完所有能匹配的. 把非贪婪模式改为贪婪模式在量词后面加上问号,如:{3,8}?