正则表达式重复模式

时间:2012-05-20 11:01:15

标签: c# regex split

假设您有string

string s = "GameObject.Find(\"obj\").GetComponent(\"comp\").GetMethod(\"method\").Get...";

string可以附加任意数量的GetX()方法。

你需要将每个方法分开,而不是“。”分隔器。虽然GameObject.Find可以保留(dot)

到目前为止,这是我的代码:

Match match = Regex.Match(s, "(.+?\\(\".+?\"\\))(?:\\.??)*");

这只产生一个组。这个问题的正确解决方案是什么?

修改

更新了非捕获组。

1 个答案:

答案 0 :(得分:1)

首先,我建议使用逐字字符串文字在C#中编写正则表达式。这减少了你需要写的反斜杠的数量。

 @"(.+?\("".+?""\)\.??)*"

要获取所有捕获,请检查Match.Captures

查看在线工作:ideone