我有一根绳子
“虚火”
我尝试用正则表达式替换
(?>(word)|\G(?<!^))\K\S$1$2$0在记事本++中,它不改变文本,但它在regex101 (https://regex101.com/r/aI6gE1/2)中工作,在word之后替换字符,如下所示
wordwordide plain firewordwordwordde plain firewordwordwordworde plain firewordwordwordwordword plain firewordwordwordwordwordwordplain firewordwordwordwordwordwordwordlain fire你能帮我看到错误或者在记事本++中给我一个解决办法吗:用一个不包含在匹配组中的组替换单词后面的字符串。
请帮帮我
发布于 2016-07-13 07:39:27
答案是肯定的,只有在Notepad++ 插件的帮助下才能使用。
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))])将用组1中的值替换组2中的每个字符。
案文如下:
word1
word1 2
wordride plain fire 将转化为:

注意事项:您可以通过调整(修改) (.+)模式来控制word之后有多少字符被word替换。
发布于 2016-06-20 10:13:28
很难确切地理解您想要做什么,但是下面的工作是基于您的示例的:
^((word)+).$1$2https://stackoverflow.com/questions/37902418
复制相似问题