在正则表达式模式中使用括号

NLV*_*NLV 9 c# regex

我有一个字符串"这个文本有一些(括号内的文字)".所以我想使用C#中的正则表达式检索括号内的文本.但是括号已经是正则表达式中的保留字符.那怎么弄呢?

更新1

所以对于文本"afasdfas(2009)"

我试着(.)/s((/d+))(.) (\d+)(.*)/s((/d/d/d/d)).他们都没有工作.有任何想法吗?

Dia*_*tis 16

像这样:

// For "This text has some (text inside parenthesis)"
Regex RegexObj = new Regex(@"\(([^\)]*)\)");

// For "afasdfas (2009)"
Regex RegexObj = new Regex(@"\((\d+)\)");
Run Code Online (Sandbox Code Playgroud)

编辑:

@SealedSun,CannibalSmith:改变了.我也使用@""但这是来自RegexBuddy的c/p:P

@Gregg:是的,确实更快,但我更愿意回答这些问题.

  • 我找到了第二个`\`来逃避正则表达式转义字符`\`.我总是用逐字字符串写出正则表达式:`@"\((.*?)\"`我觉得它更容易阅读. (2认同)

Bri*_*Kim 7

您可以使用反斜杠或Regex.Escape().