匹配字符串中的所有其他字符

gob*_*s14 -4 python regex

我有一根绳子

k1|v1|k2|v2|k3|v3|k4|v4
Run Code Online (Sandbox Code Playgroud)

我想相互匹配,|这样我就可以将字符串更改为

k1:v1|k2:v2|k3:v3|k4:v4
Run Code Online (Sandbox Code Playgroud)

|我知道我可以通过进行分组来进行匹配(|),但我不知道如何仅匹配所有其他管道。

谢谢。

ndn*_*kov 5

匹配:

([^|]*)\|([^|]*(\||$))
Run Code Online (Sandbox Code Playgroud)

用。。。来代替$1:$2

查看实际效果


大概的概念:

  • [^|]*- 多个非|字符
  • ()定义一个组
  • (\||$)- a|或字符串结尾
  • 整个正则表达式读取为第一组中的多个非|字符,后跟 a |,后跟第二组中的多个非|字符和 a|或字符串结尾