Regex 用于处理前导空格的正则表达式(记事本和)

Regex 用于处理前导空格的正则表达式(记事本和),regex,notepad++,Regex,Notepad++,我在记事本中打开的文件中有一行++ 0 <? 0.00 - (multi) Salt 我试过的是:替换 ( \d*) <\? \d.\d\d - \(multi\) * 它很好用。唯一的问题是它在记事本的每一行都添加了一个前导空格++ 0 <? 0.00 - (multi) Salt 如何修改正则表达式,使其不在每行开头添加前导空格 注L我不能使用“在记事本中修剪前导空格”选项 有人能帮我吗 提前谢谢 注意:我的文件有更多行,如 0 <? 0.00

我在记事本中打开的文件中有一行++

  0 <? 0.00 - (multi) Salt
我试过的是:替换

  ( \d*) <\? \d.\d\d - \(multi\) *
它很好用。唯一的问题是它在记事本的每一行都添加了一个前导空格++

  0 <? 0.00 - (multi) Salt
如何修改正则表达式,使其不在每行开头添加前导空格

注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  

0
”(\d*)要在记事本++中使用基于正则表达式的替换,请打开“查找和替换”窗口底部的正则表达式单选按钮!(请参阅下面的我的设置)

下面是一个必须适用于您的正则表达式:

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

^\h+(\d+)\h*在我的编辑器中可以捕获四个组中的所有内容

查找内容:
\s(\d+)。+(\d[.]\d+)。+\(\w+).*(\w+\b)

替换为:
$1、$2、$3、$4

请参阅下面随附的照片快照。

只需将空格移出捕获组-
“(\d*)我尝试过。它仍然会在行的开头添加一个空格。请看我的演示。我认为它应该可以工作。您的演示看起来很棒。不确定为什么它与我的记事本++编辑器中的任何行都不匹配,更不用说替换了。是否选中了regex框?空格是常规空格还是硬空格( ;)?我刚试过@user2805924如果答案不起作用,你就不应该接受它。在接受之前,一定要测试答案。@chris85在这种情况下,情况正好相反:先是给出了评论,然后显然是错误的,然后答案被接受了。不过,我同意你对一致性的担忧;一种方法是取消评论删除初始注释。是的,在这种情况下,这是一个不好的注释。@user2805924您应该删除该注释,以便将来的访问者不会跳过它。您的行中是否有前导空格?哪里都看不到。您在屏幕截图中看到它了?只有尾随空格。是否需要删除尾随空格?使用
\h+$
删除如果你去查看菜单和检查显示符号-显示所有字符。我坏了…我接受了错误的答案。我已经尝试撤消它并接受了你的答案。
"  ( \d*) <\? \d.\d\d - \(multi\) *" 
^\h{2}(\d*)\h*<\?\h*(\d\.\d{2})\h*-\h*\(multi\)\h*
^\h{2,}(\d*)\h*<\?\h*(\d\.\d{2})\h*-\h*\(multi\)\h*