正则表达式:用小写字符替换第一个字符

时间:2016-10-17 10:00:26

标签: regex notepad++

考虑这段文字(单词之间有四个空格):

word    Word  
word    Word  
word    Word

我正在使用Notepad ++。

我搜索:\b (\w)
我想替换为: \l$1

当我单击替换按钮时,没有替换上面的文本,但是使用此文本它可以正常工作(单词之间有四个和两个空格):

word    Word  
word  Word  
word  Word  

这是因为Notepad ++吗?

2 个答案:

答案 0 :(得分:4)

我认为问题在于Notepad ++中的\b字边界模式实现。请参阅我之前记录的Word boundary issue with a generic subpattern next to it #1404问题。

在您的具体情况下,我希望将前一个单词末尾的字词char与(\w)匹配,然后将4个水平空格与\h{4}匹配,然后再次将下一个单词的char字段捕获为小写(使用另一个(\w))。

(\w)\h{4}(\w)

并替换为

$1 \l$2

enter image description here

答案 1 :(得分:-1)

在nodepad ++中,您需要使用\ 1来获取组#1而不是$符号。 试试这个: (\ w \ s {4})(\ w) - > \ 1 | \ 2

由于