我有这个字符串
string s = "<textarea>\r\n</textarea>";
我想动态替换textarea内容,尝试这样:
Regex regex = new Regex("(<textarea.*?>)(.*)(</textarea>)");
string a = regex.Replace(s, "$1new value$3");
然而,这并没有对我想要的输出进行处理,它应该是:<textarea>new value</textarea>
。它只是产生
<textarea>
</textarea>
我该如何解决?
答案 0 :(得分:5)
答案 1 :(得分:3)
.*
会在遇到\n
时停止。
因此请使用RegexOptions.MultiLine
选项。
或者只是将你的正则表达式更改为:
(?m)(<textarea.*?>)(.*)(</textarea>)
(?m)
是内联多行修饰符。
抱歉它应该是RegexOptions.SingleLine
。我很困惑,因为我只在javascript中使用正则表达式。