是否需要在 C# 正则表达式<中>转义?由于命名组,我不确定,因为这个正则表达式备忘单将它们列在元字符部分。
html = Regex.Replace(html, "(<body.*?>)", replacement);
或者
html = Regex.Replace(html, "(\<body.*?\>)", replacement);
是否需要在 C# 正则表达式<中>转义?由于命名组,我不确定,因为这个正则表达式备忘单将它们列在元字符部分。
html = Regex.Replace(html, "(<body.*?>)", replacement);
或者
html = Regex.Replace(html, "(\<body.*?\>)", replacement);
永远不需要逃避<或>在正则表达式中。它们具有特殊含义的唯一上下文是如果<出现在 之后(?。(?而且由于在转义后不允许直接使用常规字符,因此<没有任何意义(即(?\<blabla\>)格式错误)。
如果要匹配文字序列?<bla>,则需要转义?,而不是<and 在所有其他情况下<,并且>没有特殊含义。
在这个表达式中,它们不需要转义,因为它们没有被一个单词包裹。如果您的表达方式更像,(?<body>.*?)那么它会做的就是捕捉.*?并命名它body。
在这种情况下,这并不是绝对必要的,但是如果您确实逃脱了,那么您的意思肯定很清楚,而当您在 6 个月后查看您的代码或其他人阅读它时,不逃脱可能会引起对含义的怀疑。