匹配字符串中的每个其他字符

时间:2015-12-16 21:06:53

标签: python regex

我有一个字符串

k1|v1|k2|v2|k3|v3|k4|v4

我想匹配其他所有|,所以我可以将字符串更改为

k1:v1|k2:v2|k3:v3|k4:v4

我知道我可以通过像|这样的分组来(|)匹配,但我无法弄清楚如何只匹配其他所有管道。

感谢。

1 个答案:

答案 0 :(得分:3)

匹配:

CGPoint touchlocation = [touch locationInNode:self];
CGPoint location = CGPointMake(touchlocation.x,100);  //where 100 is the spot on the y axis you want to stay on

替换为([^|]*)\|([^|]*(\||$))

See it in action

总体思路:

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