是否在记事本++中将单词后面的字符替换为字符(&Q)++? [英] replace after "word" character by character in notepad ++?

查看:15
本文介绍了是否在记事本++中将单词后面的字符替换为字符(&Q)++?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个字符串

"文字明火"

我已尝试替换为正则表达式

  • 查找内容:(?>(word)|G(?<!^))KS
  • 替换为:$1$2$0

在Notepad++中,它不更改文本,但在regex101(https://regex101.com/r/aI6gE1/2)中工作,其中I替换word后面的字符,如下所示

  • 首先替换:wordwordide plain fire
  • 第二次替换:wordwordwordde plain fire
  • 第三个替换:wordwordwordworde plain fire
  • 第四次替换:wordwordwordwordword plain fire
  • 第五次替换:wordwordwordwordwordwordplain fire
  • 第六次替换:wordwordwordwordwordwordwordlain fire

您能否帮助我查看该错误,或在Notepad++中为此提供解决方法:使用匹配组中未包含的组将"word"字符后的字符串替换为一个字符

请帮帮我

推荐答案

答案是肯定的,可以使用Notepad++,但只有在PythonScript插件的帮助下才能使用。

Get the plugin ready,并创建以下脚本:

import re

regex = r"^(word)(.+)"

def process_match(match):
    return "{0}{1}".format(match.group(1), "".join([match.group(1) for x in list(match.group(2))]))
editor.rereplace(regex, process_match)

^(word)(.+)模式将匹配开头带有word的行进入组1,并将该行的所有睡觉匹配到组2。

"{0}{1}".format(match.group(1), "".join([match.group(1) for x in list(match.group(2))]))将首先将Group 1值粘贴到结果中(请参见format(match.group(1)),然后"".join([match.group(1) for x in list(match.group(2))])将Group 2中的每个字符替换为Group 1中的值。

此文本:

word1
word1 2
wordride plain fire 

将变为:

注意:注意:您可以通过调整(修改)(.+)模式来控制word后替换为word后的字符数。

这篇关于是否在记事本++中将单词后面的字符替换为字符(&Q)++?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆