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

本文关键字:不起作用 正则表达式 | 更新日期: 2023-09-27 18:37:28

你能帮我写这个小正则表达式吗,它得到('')之间的文本

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

我试过('(.*)')但它不起作用。

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

这个正则表达式呢?

'('(.*)'')

您需要转义()因为它们是在正则表达式中保留的。因此,每次您遇到要评估为文字的()时,您都需要逃避它们。

一个无正则表达式的解决方案:

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();