正则表达式查找匹配后如何替换?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式查找匹配后如何替换?相关的知识,希望对你有一定的参考价值。

我的目标是把id="后的数字为3位的,变成5位,在前方加两个0。

例:替换前:id="248,替换后:id="00248。Word后面的字符不变
我的匹配是 \b\d3后面接一个Tab空格,请各位大神帮帮忙,顺便简单解释下原理,不胜感激!
注:Word 前是Tab空格
id="34078 Word 97
id="33112 Word 98
id="31453 Word 99
id="26385 Word 100
id="30249 Word 101
id="11300 Word 102
id="23830 Word 103
id="32986 Word 104
id="41638 Word 105
id="248 Word 106
id="29773 Word 107
id="21534 Word 108
id="255 Word 109
补充下,是用Sublime Text处理的。

参考技术A ctrl+shift+find,find栏输入id="(\d3\s),replace栏输入id="00$1
$1引用前面小括号匹配的内容本回答被提问者采纳

notepad++正则表达式替换,在匹配文本前插入字符,如何做到?

想用Calibre制作电子书,用到markdown语法标记,要求在所有章节标题前插入“##”

例如原文本:
第一章 XXX
替换后为:
##第一章 XXX
在替换窗口“查找目标”里输入
第(一|二|三|四|五|六|七|八|九|十|百|[0-9])+(章)\s+.*
替换结果的表达式应该怎么输入?

参考技术A 查找表达式: 第([一二三四五六七八九十百零〇]+|[0-9]+)章(.+)\s
替换为表达式:##第$1章$2\r追问

正解,谢谢!

另,请问$的具体如何使用?
如果替换目标用:第.*章
最终表达式中通配符的内容应该用什么替代?

追答

$1代表查找表达式中的第一对小括号里面的内容,依次类推。第二对小括号里面的内容就用$2代表。
如果替换目标用:第.*章,表达式应该修改为:第(.*)章
替换为表达式为:第$1章

本回答被提问者和网友采纳

以上是关于正则表达式查找匹配后如何替换?的主要内容,如果未能解决你的问题,请参考以下文章

notepad++正则表达式替换,在匹配文本前插入字符,如何做到?

如何使用正则表达式

实用正则表达式匹配和替换

实用正则表达式匹配和替换

正则表达式高级替换,匹配后进行运算,然后使用结果替换,怎么实现?

如何编写正则表达式来查找/替换 HTML 类? [复制]