正则表达式:用索引替换匹配项

kni*_*ttl 5 regex string replace

如何使用正则表达式将字符串“abacda a”转换为字符串“1 b 2 cd 3 4”?

这可能吗?首选的风味是 Perl,但任何其他风味也可以。

s/a/ \????? /g
Run Code Online (Sandbox Code Playgroud)

the*_*eek 4

这个替换就可以了。

$ perl -p -e 's/a/++$i/ge' 
a b a c d a a
1 b 2 c d 3 4
Run Code Online (Sandbox Code Playgroud)
  • e 将右侧作为表达式求值。
  • g 全局替换,即所有出现的地方。