通过记事本中的Regex将字符添加到每个数字


10

我有一个非常基本的问题,我只是无法理解。我确实有一个像这样的文本文档:

This is 5 a test!
This 3 is a test!
This is a 9 test!

我希望它看起来像这样:

This is 5c a test!
This 3c is a test!
This is a 9c test!

表示我想在找到的每个数字中添加一个“ c”。我尝试了这个:

Find what: [0-9]+]
Replace with: $1c
Search Mode: Regular expression

但我显然做错了什么,因为它不起作用。帮助将不胜感激。谢谢!


3
出于好奇:您为什么要尝试[0-9]+]使用那些奇怪的无与伦比的括号?
Heinzi

2
@Heinzi投注它在问题的错字,给出的接近+]并且Enter在许多键盘。
Lightness Races in Orbit

Answers:


26

你几乎是对的。

您要搜索([0-9]+)
并将其替换为$1c

您用于( )创建捕获组,因此$ 1有效。

另外,您也可以替换为$0c,则无需使用捕获组。


2
它工作得很好。非常感谢;)
user3877230 '18 -10-8

只是好奇这种模式是否有所不同,并寻找\d+
BruceWayne

2
@BruceWayne根据您的正则表达式风格,\d可以匹配其他脚本中的Unicode数字。请注意,PCRE并非如此,这显然是Notepad ++所使用的。无论如何,\d如果我想要数字,但[0-9]如果我明确想要这些字符,则通常会偏爱(例如,在抓取限定为ASCII字符的定义格式时)。
鲍勃

确实,\ d也会工作得很好。我保留[0-9]语法,因为OP已经尝试过该语法,而其他答案使用\ d。
LPChip '18

13
  • Ctrl+H
  • 找什么: \d+
  • 用。。。来代替: $0c
  • 检查环绕
  • 检查正则表达式
  • Replace all

给定示例的结果:

This is 5c a test!
This 3c is a test!
This is a 9c test!

环绕做什么?
Ooker '18
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.