假设我有以下文本:
#Foo foo bar bar
foo bar foo
#bar Foo Foo
foo bar
假设我想将以 #
字符开头的行中的空格键替换为 -
字符。所以输出应该是:
#Foo-foo-bar-bar
foo bar foo
#bar-Foo-Foo
foo bar
我知道我可以使用这个正则表达式找到这些行:
/^#(.*)$/gm
但是我实际上可以以任何方式改变这些 $1
序列吗?
附注我在notepad++中使用正则表达式将Excel中的一些数据转换为代码(实际上非常方便)。
P.S.2 我还必须替换文本中的一些制表符,在对 Avinash Raj 的答案进行了一些修改后,我发现我可以使用这个正则表达式来做到这一点......除了它没有按预期工作,但 Avinash Raj 很友善,没有再次使用这个正则表达式提供帮助。
/(?:^#|(?<!^)\G)[\S ]*\K\t/gm
最佳答案
我认为notepad++会支持\G
。 anchor \G
匹配上一个匹配结束的位置。
正则表达式:
(?:^#|(?<!^)\G)\S*\K[ \t]+
替换字符串:
-
如果您想用 -
替换单个空格,请尝试以下正则表达式,
(?:^#|(?<!^)\G)\S*\K[ \t]
关于regex - 是否可以替换正则表达式序列中的特定字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26117456/