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,这似乎有很大不同。
最佳答案
需要解决的问题:
- 在模式中添加
()
以获取捕获组 - 将输入传递给替换方法
- 将结果存储在变量中(注意:C# 字符串是不可变的)。
固定代码:
string pattern = @"<p>(.*)<br>";
Regex rgx = new Regex(pattern);
string output = rgx.Replace(input, "<p>$1</p>");
关于c# - 使用 ".*"和 $1 用正则表达式替换文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20222498/