正则表达式处理前导空格( Notepad++ )

标签 regex notepad++

我在 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  

Tried suggestions below

最佳答案

要在 Notepad++ 中使用基于正则表达式的替换,请打开“查找和替换”窗口底部的“正则表达式”单选按钮! (见下面我的设置)

这是一个必须为您工作的正则表达式:

^\h{2}(\d*)\h*<\?\h*(\d\.\d{2})\h*-\h*\(multi\)\h*

替换为 \1,\2,multi,\h是一个水平空白(排除换行符)。两个匹配项可以与 {2} 匹配限制量词(无需重复子模式)。

查看设置:

enter image description here

注意 : 如果前导空格超过 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/

相关文章:

python - 从动态 url 获取值

regex - Perl中\z和\Z以及\a和\A的区别

notepad++ - 如何删除所有不以..开头的行[Notepad++]

regex - Notepad++:如何删除除包含句点之外的所有字符串

regex - 如何用新行替换空格?在 Notepad++ 正则表达式中

regex - Notepad++ /BOOST中的错误还是我的正则表达式中的错误?

regex - 如何正确使用elasticsearch正则表达式查询?

javascript - 正则表达式 javascript 网站以/结尾

jquery - jquery 表单验证中的错误消息

xml - 使用 Notepad++ 进行内部 DTD 验证