正则表达式在2括号,如匹配子[我要这个文本],但离开了括号? [英] Regex to match a substring within 2 brackets, e.g. [i want this text] BUT leave out the brackets?
本文介绍了正则表达式在2括号,如匹配子[我要这个文本],但离开了括号?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我设法找到了正则表达式来获得几乎我想在这里的结果,即
正则表达式R1 =新的正则表达式(@\ [(*)\。?]);
字串行= HEADERNAMES [COL1,COL2,COL3,COL4]。
比赛比赛= r1.Match(行);
字符串结果= match.ToString();
输出:[COL1,COL2,COL3,COL4];
我知道,那么我就可以使用:
result.Replace([,);
result.Replace(],);
要获得正是我想要的,但我不知道是否有一种方法可以从正则表达式的结果ommit的定界符[和]不执行字符串的方法。
我还以为有使用正则表达式本身??一个更优雅的解决方案
在此先感谢。
解决方案
正则表达式R1 =新的正则表达式(@\ [(+)\。]);
字串行=HEADERNAMES [COL1,COL2,COL3,COL4];
//正则表达式把捕获组(即间捕获的东西(和))
//在Groups集合
字符串匹配= r1.Match(行).Groups [1] .value的;
//匹配=COL1,COL2,COL3,COL4
I've managed to find the Regex to get almost the result I want here i.e.
Regex r1 = new Regex(@"\[(.*?)\]");
string row = HEADERNAMES[COL1,COL2,COL3,COL4];
Match match = r1.Match(row);
string result = match.ToString();
Outputs: "[COL1,COL2,COL3,COL4]";
I know I can then use:
result.Replace("[", "");
result.Replace("]", "");
to get exactly what I want but I was wondering if there was a way to ommit the delimeters [ and ] from the Regex result without performing the String methods.
I would have thought there was a more elegant solution using Regex itself??
Thanks in advance.
解决方案
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"
这篇关于正则表达式在2括号,如匹配子[我要这个文本],但离开了括号?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文