Regex 正则表达式在匹配中替换

Regex 正则表达式在匹配中替换,regex,notepad++,Regex,Notepad++,在记事本++正则表达式中,我要搜索所有以波浪号开头、以\n结尾的字符串,并在每个匹配中用非中断空格替换所有空格 也就是说,我希望找到\~.^的所有实例,并在生成的$0中,将所有[Space]s替换为[Non-breaking Space] 这可能吗?您可以使用以下选项进行匹配: (?:~|\G(?<!^))\S*\K\s 并替换为非中断空间 看 使用固定宽度模式查找正则表达式引擎(例如Perl): 使用可变宽度模式查找正则表达式引擎: s/(?<=\~.*) {2,}/ /g

在记事本++正则表达式中,我要搜索所有以波浪号开头、以\n结尾的字符串,并在每个匹配中用非中断空格替换所有空格

也就是说,我希望找到
\~.^
的所有实例,并在生成的
$0
中,将所有
[Space]s
替换为
[Non-breaking Space]


这可能吗?

您可以使用以下选项进行匹配:

(?:~|\G(?<!^))\S*\K\s
并替换为非中断空间


使用固定宽度模式查找正则表达式引擎(例如Perl):

使用可变宽度模式查找正则表达式引擎:

s/(?<=\~.*) {2,}/  /g

s/(?你说的不间断空格是什么意思?@karthikmanchala blanks和tabstops我想这是可能的,但如果你给出了一行你想在其上运行正则表达式的示例(以及预期的输出),这会有所帮助@karthikmanchala?不确定notepad++regex引擎是否足够强大,但这里有一个php解决方案,抱歉,在N++中,它只替换了所有空格。可能是N++的regex实现中的一个弱点。我将尝试从演示中进行反向工程。好主意!可能不适用于@Kapitano,因为最后的
\s
。试试看<代码>(?:~\G(?!^))\S*\K[]
@Jonny5-hmm..也许..我用N++中的
\S
试过了,效果很好..无论如何..也更新了你的建议..)
s/(~.*?) {2,}/\1 /g
s/(?<=\~.*) {2,}/  /g
s/\(\~.*\)@<= \{2,}/  /g