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

Regex 正则表达式:用小写字符替换第一个字符,regex,notepad++,Regex,Notepad++,考虑这段文字(单词之间有四个空格): 我正在使用记事本++ 我搜索:\b(\w) 我想替换为:\l$1 当我单击“替换”按钮时,不会对上面的文本进行替换,但对于此文本,它可以正常工作(单词之间有四个空格和两个空格): 这是因为记事本++?在nodepad++中,您需要使用\1来获取组\1而不是$符号。 试试这个: (\w\s{4})(\w) -> \1|\2 谢谢。我认为问题在于Notepad++中的\b字边界模式实现。请参阅我不久前记录的问题 在您的特定情况下,我宁愿将前一个单词末尾的

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

我正在使用记事本++

我搜索:
\b(\w)

我想替换为:
\l$1

当我单击“替换”按钮时,不会对上面的文本进行替换,但对于此文本,它可以正常工作(单词之间有四个空格和两个空格):


这是因为记事本++?

在nodepad++中,您需要使用
\1
来获取组
\1
而不是
$
符号。 试试这个:

(\w\s{4})(\w) -> \1|\2

谢谢。

我认为问题在于Notepad++中的
\b
字边界模式实现。请参阅我不久前记录的问题

在您的特定情况下,我宁愿将前一个单词末尾的单词char与
(\w)
匹配,然后将4个水平空格与
\h{4}
匹配,然后再次捕获要小写的下一个单词的单词char(与另一个
(\w)

并替换为

$1 \l$2

@WiktorStribiżew:您单击“全部替换”了吗?如果我想要更多的控制,并且想用“替换”按钮替换,它将不起作用。这真的很奇怪。我认为这与几个月前我记录的一个bug有关:。但在这里,它更奇怪。请考虑接受一个正确答案的答案,每一个都包含一个严重误导性的键入,缺少解释,并集中于一个绝对不重要的细节(至少对于当前场景)。我已经将替换语句改为(\w {{ 4 })(\w)-> 1 \ l 2(L=小写字母L)。现在,它的工作原理与预期一致。谢谢顺便说一句:在我的情况下,我如何向这些群体发表演讲并没有什么不同\1\l\2和$1\l$2产生了相同的结果。@Siggi:在您的案例中使用
\1
$1
并不重要(因此,有人否决了答案)。在其他一些情况下也会如此。实际上,我认为一个更合适的解决方案是使用
(\w)\h{4}(\w)
并替换为
$1\l$2
。请注意,
\s
匹配换行符,
(\w\s{4})(\w)
可能跨行匹配。@WiktorStribiżew:您的搜索模式更适合。谢谢我希望下次我会记得。你的bug报告还不够深入
\bw
匹配wwwww中的每个字母,所以单词边界的开头根本不起作用。但这个错误真的很奇怪。@Alanmore:我希望NPP团队至少看看我记录的内容(
(\w\s{4})(\w) -> \1|\2
(\w)\h{4}(\w)
$1 \l$2