多键的正则表达式:价值搜索术语

时间:2011-08-26 21:32:14

标签: c# regex

我需要一个.NET(C#)正则表达式来解析一串搜索词。这些术语是关键:值对并由空格分隔。抛弃循环的事实是键:值对可能在值中有空格。

这是一个示例字符串:

f:john l:smith c:san francisco st:ca

我希望得到以下条款:

  f:john
  l:smith
  c:san francisco
  st:ca

有任何帮助吗?感谢。

2 个答案:

答案 0 :(得分:4)

我认为这个会奏效。它使用前瞻来确保最后一个单词没有:终止它。

\b\w+:[\w\s]+\b(?!:)

答案 1 :(得分:0)

这是我的尝试:

([\w]+)\:([\w\s]+)\s(?=([\w]+)\:)?

2个警告:

  • 每场比赛都会有三场比赛。忽略最后一个。
  • 输入文本必须在末尾有空格。