用regex替换反斜杠
本文关键字:替换 regex | 更新日期: 2023-09-27 18:02:59
我有这个字符串
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>
我该如何修复它?
使用RegexOptions.SingleLine
模式。否则.
不匹配换行符。
根据文档:
Singleline单行模式。改变点的含义(.)所以它匹配每一个字符(而不是除了。
' n)。
.*
遇到'n
时停止。
所以使用RegexOptions.MultiLine
选项
或者将正则表达式更改为:
(?m)(<textarea.*?>)(.*)(</textarea>)
(?m)
是内联多行修饰符。
编辑:
对不起,应该是RegexOptions.SingleLine
。我很困惑,因为我只在javascript中大量使用正则表达式。