c# - 获取括号之间的值
问题描述
我需要获取位于开括号和闭括号之间的所有字符串。示例字符串如下
[CDATA[[(MyTag),xi(Tag2)]OT(OurTag3)。
输出需要是一个带有MyTag
,的数组Tag2
,OurTag3
即字符串需要去掉括号。
下面的代码有效,但保留了括号。如何调整正则表达式模式以从输出中删除括号?
string pattern = @"\(([^)]*)\)";
string MyString = "[CDATA[[(MyTag),xi(Tag2) ]OT(OurTag3)";
Regex re = new Regex(pattern);
foreach (Match match in re.Matches(MyString))
{
Console.WriteLine(match.Groups[1]); // print the captured group 1
}
解决方案
您应该能够使用以下内容:
(?<=\().+?(?=\))
(?<=() - 积极向后看 (
.*? - 内容的非贪婪匹配
(?=)) - 积极的前瞻 )
推荐阅读
- java - 我可以将字符串中的整数转换为整数,每个整数都有自己的变量吗?(爪哇)
- c++ - 为什么不调用构造函数?
- django - Django TemplateDoesNotExist,尝试重定向用户的
- asp.net - 如何在 using { ... } 语句中包装 Asp.NET 4.5 请求?
- r - 在 R 中按组取多个不同大小 n 的 k 个样本
- excel - Adobe Acrobat 相关下拉列表
- r - 左对齐ggplot标题
- html - HTML/CSS - 文本不能在按钮内居中
- python - ldap3.MODIFY_REPLACE 单引号 ( ' )
- javascript - 从数组中删除唯一的随机项目,然后重新填充以重新启动该过程?