数字的正则表达式后跟点(。)

时间:2014-05-23 09:54:28

标签: regex notepad++

我想找到一个带有数字后跟一个点的文本,并用相同的文本(带点的数字)和“xyz”字符串替换它。 对于前。

1. This is a sample
2. test
3. string

**I want to change it to**
1.xyz This is a sample
2.xyz test
3.xyz string

我学会了如何找到匹配的文本(\ d。),但挑战是找到替换文本。 我正在使用notepad ++编辑器,任何人都可以建议“替换为”字符串。

2 个答案:

答案 0 :(得分:5)

首先,你需要逃避点,因为它意味着"匹配任何东西(除了新线,取决于s修饰符是否已设置)":(\d\.)

其次,如果您有2位数或更多数字,则需要添加量词:(\d+\.)

第三,在这种情况下,我们不需要第1组:\d+\.

在替换中,它非常简单:只需使用$0xyz即可。 $0将引用组0,这是整场比赛。

enter image description here

答案 1 :(得分:0)

我认为正确答案如下:

查找:^(\d)([.])(\s) 替换:$1$2XYZ

这将使用“n。”为“n”数字[0-9]。如果输入应接受不同长度的数字,如10,100,1000 ......或多个点“。”在点后面的数字或多个空格之后,答案是:

查找:^(\d*)([.])([.]*)(\s*) 替换:$1$2XYZ

输入:


1. This is a sample
2. test
3. string
30. string
10..... string
50005...     string

输出:


1.XYZ This is a sample
2.XYZ test
3.XYZ string
30.XYZ string
10.XYZ string
50005.XYZ string