假设您有string
:
string s = "GameObject.Find(\"obj\").GetComponent(\"comp\").GetMethod(\"method\").Get...";
string
可以附加任意数量的GetX()
方法。
你需要将每个方法分开,而不是“。”分隔器。虽然GameObject.Find
可以保留(dot)
。
到目前为止,这是我的代码:
Match match = Regex.Match(s, "(.+?\\(\".+?\"\\))(?:\\.??)*");
这只产生一个组。这个问题的正确解决方案是什么?
修改:
更新了非捕获组。
答案 0 :(得分:1)
首先,我建议使用逐字字符串文字在C#中编写正则表达式。这减少了你需要写的反斜杠的数量。
@"(.+?\("".+?""\)\.??)*"
要获取所有捕获,请检查Match.Captures
。
查看在线工作:ideone