Regex.Split模式:如何将字符串拆分为重复模式块?

时间:2011-04-05 00:37:46

标签: regex split

假设我们有一个字符串:

  

“somethinghere%C3somethinghere%83%C3%A8%C3%AF%C3%AD%C3%AEsomethinghere%C3%A7somethinghere”

获取以下值列表的Regex.Split模式是什么:

  1. %C3
  2. %83%C3%A8%C3%AF%C3%AD%C3%AE
  3. %C3%A7
  4. 注意:某处 - 可以是任何没有价值的文本,也不包含'%'字符;

    提前致谢!

2 个答案:

答案 0 :(得分:1)

您可能想要:

/(%[A-F0-9]{2})+/g

假设JavaScript样式的正则表达式语法。

编辑:

如果您想将%符号留在比赛中:

/(?:%([A-F0-9]{2}))+/g

答案 1 :(得分:1)

您似乎需要Regex.Matches而不是Regex.Split。如果你想将结果作为字符串列表,你可以使用linq:

List<string> result = Regex.Matches(source, "(%[A-Fa-f0-9]{2})+").OfType<Match>().Select(s => s.Value).ToList();
相关问题