如何在vim正则表达式中保持相同的子字符串

2024-04-25 05:14:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我最理想的回答是:

我想换衣服

[*, 1, *, *] to [*, 2, *, *]

这里的星星指的是子串中的单个字符,我想保持不变。例如

^{pr2}$

如果人们知道如何用perl或python或其他什么工具来实现这一点,那也同样不错。 干杯


Tags: 工具to字符perl理想子串pr2干杯
3条回答

如果这些是Python中的字符串

>>> a = "[0, 1, 0, 1]"
>>> b = a[:4] + '2' + a[5:]
>>> b
'[0, 2, 0, 1]'

列表更简单一些:

^{pr2}$

这是有效的:)

1,$s/\[\(\d\+\),\s\+\d\+,\s\+\(\d\+\),\s\+\(\d\+\)\]/[\1, 2, \2, \3]/g

或者

^{pr2}$

以下操作应符合您的要求:

:%s/\(\[[^,]*, *\)\(\d\)\([^]]*\]\)/\=submatch(1) . (submatch(2)+1) . submatch(3)/

在维姆,就是这样。在

相关问题 更多 >