我在 Notepad++ 中打开的文件中有一行
0 <? 0.00 - (multi) Salt
注意:行首有 2 个前导空格。
一次性使用正则表达式替换,我必须将上面的行更改为:
0,0.00,multi,Salt
我试过的是:替换
( \d*) <\? \d.\d\d - \(multi\) *
和
\1,\2,multi,
它工作正常。唯一的问题是它在 Notepad++ 的每一行添加了一个前导空格
如何修改我的正则表达式以不在每一行的开头添加前导空格?
注意 L 我无法使用“在记事本中修剪前导空格”选项。
有人可以帮我吗?
提前致谢!
注意:我的文件有更多的行,比如
0 <? 0.00 - (multi) Salt
1 <? 0.00 - (multi) Vinegar
2 <? 0.00 - (multi) Salt and Vinegar
3 <? 0.00 - (multi) BBQ Sauce
4 <? 0.00 - (multi) Chilli Sauce
5 <? 0.00 - (multi) Hawaiian Sauce
6 <? 0.00 - (multi) Brown Sauce
7 <? 0.00 - (multi) Garlic Mayo and Herb Sauce
8 <? 0.00 - (multi) Mayo
9 <? 0.00 - (multi) Salad
10 <? 0.00 - (multi) Lettuce
11 <? 0.00 - (multi) Cabbage
最佳答案
要在 Notepad++ 中使用基于正则表达式的替换,请打开“查找和替换”窗口底部的“正则表达式”单选按钮! (见下面我的设置)
这是一个必须为您工作的正则表达式:
^\h{2}(\d*)\h*<\?\h*(\d\.\d{2})\h*-\h*\(multi\)\h*
替换为
\1,\2,multi,
\h
是一个水平空白(排除换行符)。两个匹配项可以与 {2}
匹配限制量词(无需重复子模式)。查看设置:
注意 : 如果前导空格超过 1 个,请更改
\h{2}
至 \h{2,}
:^\h{2,}(\d*)\h*<\?\h*(\d\.\d{2})\h*-\h*\(multi\)\h*
关于正则表达式处理前导空格( Notepad++ ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33877572/