使用“。*”和$ 1替换正则表达式的文本

时间:2013-11-26 16:25:12

标签: c# regex

string pattern = @"<p>.*<br>";
Regex r = new Regex(pattern, RegexOptions.IgnoreCase);
r.Replace(pattern, "<p>$1</p>");

上述代码应该使用<p><br>查找并替换以下<p><p>标记,同时将文本保留在它们之间。这将取代<p><br>,但会用“$ 1”替换中间而不是相应的文本。我习惯在Python中编写RE,这似乎是完全不同的。

1 个答案:

答案 0 :(得分:1)

要解决的问题:

  • 在模式中添加()以获取捕获组
  • 传递输入以替换方法
  • 将结果存储在变量中(注意:C#字符串是不可变的)。

固定代码:

string pattern = @"<p>(.*)<br>";
Regex rgx = new Regex(pattern);
string output = rgx.Replace(input, "<p>$1</p>");