我已经设法找到正则表达式,以获得我想要的结果,即
Regex r1 = new Regex(@"\[(.*?)\]");
string row = HEADERNAMES[COL1,COL2,COL3,COL4];
Match match = r1.Match(row);
string result = match.ToString();
Run Code Online (Sandbox Code Playgroud)
输出:"[COL1,COL2,COL3,COL4]";
我知道我可以使用:
result.Replace("[", "");
result.Replace("]", "");
Run Code Online (Sandbox Code Playgroud)
得到我想要的,但我想知道是否有一种方法可以在不执行String方法的情况下从Regex结果中省略delimeters [和].
我原本以为使用Regex本身有一个更优雅的解决方案?
提前致谢.
aku*_*aku 10
Regex r1 = new Regex(@"\[(.+)\]");
string row = "HEADERNAMES[COL1, COL2, COL3, COL4]";
// Regex puts capture groups (i.e. things captured between ( and ) )
// in Groups collection
string match = r1.Match(row).Groups[1].Value;
//match = "COL1, COL2, COL3, COL4"
Run Code Online (Sandbox Code Playgroud)