Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >全局字符串替换之正则表达式

全局字符串替换之正则表达式

作者头像
李小白是一只喵
发布于 2020-04-24 01:52:31
发布于 2020-04-24 01:52:31
85000
代码可运行
举报
文章被收录于专栏:算法微时光算法微时光
运行总次数:0
代码可运行

介绍一下捕获组

捕获组就是把正则表达式中子表达式匹配的内容,保存到内存中以数字编号或显式命名的组里,方便后面引用。当然,这种引用既可以是在正则表达式内部,也可以是在正则表达式外部。

简单的说就是把正则表达式匹配的别结果以变量的形式再次调用。

捕获组命名

如果没有显式为捕获组命名,即没有使用命名捕获组,那么需要按数字顺序来访问所有捕获组。在只有普通捕获组的情况下,捕获组的编号是按照“(”出现的顺序,从左到右,从1开始进行编号的。 注意:0代表整个组。

例: 正则表达式:(\d{4})-(\d{2})-(\d\d) 匹配:2018-06-01

结果: -. 0代表:2018-06-01 -. 1代表:2018 -. 2代表:06 -. 3代表:01

引用

普通捕获组反向引用:\k<number>,通常简写为\number

例:

\0 , \1, \2, \3

运用场景

现有函数:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
how(a,b);
how(c,x);
how(m,n);

改成:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
how(a,b,a);
how(c,x,c);
how(m,n,m);

如果大量这种代码需要更改,这样使用正则表达式就会方便很多。

实现: 查找正则表达式:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
^.*(how)\(([a-zA-Z]*),([a-zA-Z]*)\);

替换正则表达式:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
\1(\2,\3,\2);

解释:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
(how)            捕获 how      结果放于 1 
([a-zA-Z]*)      捕获 参数1    结果放于 2 
([a-zA-Z]*)      捕获 参数2    结果放于 3 内

\number  输出 捕获组
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
正则表达式
正则表达式 标准字符集合 \n 代表换行符 \t 制表符 \\ 代表\本身 ^ , \$ , \( , \) , \{ , \} , ? , \+ , \* , \| , \[ , \] 匹配这些字符
sugarbeet
2022/09/26
3860
正则表达式
C# 正则表达式
转载:http://www.runoob.com/csharp/csharp-regular-expressions.html 正则表达式 是一种匹配输入文本的模式。.Net 框架提供了允许这种匹配的正则表达式引擎。模式由一个或多个字符、运算符和结构组成。 定义正则表达式 下面列出了用于定义正则表达式的各种类别的字符、运算符和结构。 字符转义 字符类 定位点 分组构造 限定符 反向引用构造 备用构造 替换 杂项构造 字符转义 正则表达式中的反斜杠字符(\)指示其后跟的字符是特殊字符,或应按原义解释该字符。
悟空聊架构
2018/05/18
1.8K0
一篇搞定Python正则表达式
1. 正则表达式语法 1.1 字符与字符类     1 特殊字符:.^$?+*{}[]()|       以上特殊字符要想使用字面值,必须使用进行转义     2 字符类       1. 包含
小小科
2018/05/02
1K0
一篇搞定Python正则表达式
JavaScript之正则表达式
正则表达式 (regular expression) 描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。 构造正则表达式的方法和创建数学表达式的方法一样。也就是用多种元字符与运算符可以将小的表达式结合在一起来创建更大的表达式。正则表达式的组件可以是单个的字符、字符集合、字符范围、字符间的选择或者所有这些组件的任意组合。 正则表达式是由普通字符(例如字符 a 到 z)以及特殊字符(称为"元字符")组成的文字模式。模式描述在
laixiangran
2018/04/24
8090
JavaScript之正则表达式
正则表达式介绍与使用
正则表达式(Regular Expression)描述字符串结构模式的形式化表达方法,正则(Regex)表达式处理的对象的字符串或者抽象地说是一个对象序列(计算机体系的本质数据结构) 正则表达式是一种文本模式包括普通字符(例如a 到 z 之间的字母)和特殊字符(称为”元字符”),用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”;
全栈工程师修炼指南
2020/10/23
1.3K0
正则表达式介绍与使用
Python 08 re 正则表达式
[0-9]代表的含意与\d就是完全一致的:一位数字;同理[a-z0-9A-Z_]也完全等同于\w
py3study
2020/01/08
7800
Go语言中的正则表达式:详细指南
在Go语言中,使用regexp.Compile函数编译正则表达式。编译后的正则表达式可以重复使用,提高了执行效率。
数字扫地僧
2024/06/27
4500
正则表达式-学习2 - 语法语法学习重点详解
Character classes match a character from a specific set. There are a number of predefined(预定的) character classes and you can also define your own sets.
贺贺V5
2018/08/21
4230
正则表达式-学习2 - 语法语法学习重点详解
正则表达式
https://blog.csdn.net/CSDN___LYY/article/details/53104136
洋仔聊编程
2019/01/15
9070
正则表达式快速入门
正则表达式(Regular Expression),又称规则表达式,在代码中常简写作 regex、regexp 或 RE。正则表达式通常用来检索、替换那些符合某个模式(规则)的文本。常用的程序设计语言都支持正则表达式,比如 C++11 也将正则表达式纳入标准,Perl、Python、PHP、Javascript、Ruby 等脚本语言都内置了强大的正则表达式处理引擎,Java、C#、Go、Delphi 等编译型语言都支持正则表达式。
恋喵大鲤鱼
2022/05/09
1.3K0
正则表达式Python_python正则表达式匹配字符串
大家好,又见面了,我是你们的朋友全栈君。 一、正则表达式语法 (一) 字符与字符类 1、特殊字符:\.^$?+*{}[]()| 以上特殊字符要想使用字面值,必须使用\进行转义。 2、字符类 包含在[
全栈程序员站长
2022/11/14
1.2K0
详尽解读正则表达式:python下的re方法
正则表达式,又称正规表示式、正规表示法、正规表达式、规则表达式、常规表示法(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些匹配某个模式的文本。
学到老
2019/01/25
2.1K0
详尽解读正则表达式:python下的re方法
C#基础篇 - 正则表达式入门
正则表达式(Regular Expression)就是用事先定义好的一些特定字符(元字符)或普通字符、及这些字符的组合,组成一个“规则字符串”,这个“规则字符串”用来判断我们给定的字符串是否匹配它的过滤逻辑,也可以从字符串中获取我们想要的特定部分。正则表达式的特点如下:
Esofar
2018/09/05
9110
(转)java正则表达式(二)
首先说一下java正则表达式的重点概念: 第一、相关类:Pattern、Matcher 第二、典型的调用顺序是 Pattern p = Pattern.compile("a*b"); Matcher m = p.matcher("aaaaab"); boolean b = m.matches(); 在仅使用一次正则表达式时,可以方便地通过此类定义 matches 方法。此方法编译表达式并在单个调用中将输入序列与其匹配。 语句 boolean b = Pattern.matches("a*b",
哲洛不闹
2018/09/19
7460
正则表达式
正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。 特殊符号:
爱编程的小明
2022/09/06
7570
正则表达式
字符串之正则表达式
授人以鱼不如授人以渔,大家在编程的时候总会遇到要查找某些复杂规则的字符串,例如在 linux 系统中,需要对多个文件里的某段代码进行替换,你是不是还在每个文件打开逐一目标替换?如果你也有这样的困惑那么正则表达式就是你必须会的技能。
C语言与CPP编程
2021/07/02
3.4K0
字符串之正则表达式
前端进阶必须知道的正则表达式知识
正则表达式(Regular Expression) 是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个规则字符串,这个规则字符串用来表达对字符串的一种过滤逻辑。
石燕平
2019/12/03
7790
详解Java API之正则表达式
     正则表达式描述的是一种规则,符合这种限定规则的字符串我们认为它某种满足条件的,是我们所需的。在正则表达式中,主要有两种字符,一种描述的是普通的字符,另一种描述的是元字符。其中元字符是整个正则
Single
2018/01/04
9440
详解Java API之正则表达式
正则表达式详解
正则表达式是烦琐的,但是强大的,学会之后的应用会让你除了提高效率外,会给你带来绝对的成就感。只要认真去阅读这些资料,加上应用的时候进行一定的参考,掌握正则表达式不是问题。
黄规速
2022/06/30
1.5K0
正则表达式详解
正则表达式高级
正则表达式高级 ——《精通正则表达式》 +Java/Go/Python官方文档 +多年经验 +实验结果 知识整理
林万程
2019/08/05
1.1K0
相关推荐
正则表达式
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验