正则表达式命名捕获组时出错

Error while Regex named capturing groups

对于我的一个应用程序,我正在尝试从 <textarea> 标记读取测试。下面提到的模式在 Visual studio 2010 年之前工作得很好。但是在 Visual studio 2013 年它 returns 错误“指定的参数超出了有效值的范围。 参数名称:i

我的正则表达式模式string exp = @"<textarea[^>]*id=['""]objCodePress_QB_Query['""].*?>(?<xtract>(.*?))</textarea>";

我正在寻找的字符串样本是

<textarea id="objCodePress_QB_Query" name="objCodePress_QB_Query" style="width:100%;" rows=20 class="codepress sql">Hello this is a test</textarea>

新版本的正则表达式是否有任何更新或我如何解决这个问题?

很明显,您遇到的问题与空格有关。

声明 Regex 对象时,使用 RegexOptions.Singleline 强制 . 匹配任何字符,包括换行符。

另一个解决方案是在模式的开头添加 (?s)