我想在文本中使用正则表达式替换字符{'A': [3, 4, 7], 'B': [4, 9, 9], 'C': [3, 4, 5], 'D': [2, 2, 6], 'E': [6, 7, 9], 'F': [2, 4, 5]}
,这样就可以这样工作:
原文:-
替换后的文字:abcd-efg-hijk-lmno
正如您所看到的,我想从字符abcd-efg-hijk/lmno
开始一次从结尾开始替换字符-
。
提前感谢任何提示
答案 0 :(得分:4)
找到:-([^-]*)$
替换为:/$1
搜索模式:正则表达式
<强>解释强>
- : a dash
([^-]*$) : text with no dash,
zero or more times,
to the end of the line,
put in the $1 variable
/$1 : literal "/", contents of $1
答案 1 :(得分:3)
要替换Notepad ++中的字符,可以使用 Ctrl + H 或“搜索”菜单下打开“替换”窗口。打开后,输入以下正则表达式:
(.{4}-.{3}-.{4})(-)(.{4})
这将找到:
括号将此搜索分组到捕获的组中,我们将将其用于替换部分。有关详细信息,请参阅https://www.regular-expressions.info/brackets.html。
如果要将搜索范围限制为小写字母,则应替换“。”。用“[a-z]”或上下“[a-z,A-Z]”。
现在进行更换。之前的组由美元符号引用,然后是数字,例如1美元将是第一个。所以我们将替换第一组中的字符($ 1),忽略包含短划线的第二组并插入“/”,然后包括第三组($ 3):
$1/$3
替换窗口中的设置需要选中“正则表达式”和“自动换行”,并且“。匹配换行符”未选中。
然后,您可以单击替换所有以替换所有匹配项,或单独使用替换。
由于不包括行字符的开头和结尾,您可以在一行中找到此模式的多次出现。
注意:此答案遵循与Toto相同的过程,但使用不同的正则表达式。
答案 2 :(得分:2)
^(.+)-([^-]+)$
$1/$2
. matches newline
<强>解释强>
^ : begining of line
(.+) : 1 or more any character, catch in group 1
- : a dash
([^-]+) : 1 or more any character but dash, catch in group 2
$ : end of line