在正则表达式中编写(和)并不起作用

时间:2015-01-13 08:03:56

标签: c#

你能帮我写这个小正则表达式来获取('&之间的文本吗? ')

('SomeText')   = > SomeText
('Some')Text')   = > Some')Text
('Some'Text')   = > Some'Text

我试过了('(.*)'),但它没有用。

2 个答案:

答案 0 :(得分:1)

这个regex怎么样?

\('(.*)'\)

您需要转义(),因为这些是在Regex中保留的。因此,每次遇到要评估为文字的()时,都需要将其转义。

答案 1 :(得分:1)

无RegEx解决方案:

string ExtractString(string s, string tag) {
     var startTag = "(" + tag + ")";
     int startIndex = s.IndexOf(startTag) + startTag.Length;
     int endIndex = s.IndexOf("(/" + tag + ")", startIndex);
     return s.Substring(startIndex, endIndex - startIndex);
}

或者

  Regex regex = new Regex("<(>(.*)</)>");
  var v = regex.Match("morenonxmldata<(>0002<)>morenonxmldata");
  string s = v.Groups[1].ToString();