C# 正则表达式替换分组内的内容
要替换的内容:
Description ( "Gets or sets the name of the series."
),
Description( "Gets the series' collection of data points." ),
Category("Elements"),
DesignerSerializationVisibility(DesignerSerializationVisibility.Content),
Editor("DevExpress.XtraCharts.Design.SeriesCollectionEditor," + AssemblyInfo.SRAssemblyCharts, typeof(System.Drawing.Design.UITypeEditor)),
System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)
]
[
Description("Gets or sets the text that identifies the series within the legend of a chart control."),
Category("Behavior"),
Localizable(true),
DefaultValue("")
]
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Text.RegularExpressions; namespace RegexReplace { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { Regex re = new Regex("Description\\s*\\(\\s*\"(.*?)\"\\s*\\)", RegexOptions.Singleline); var a = re.Matches(textBox1.Text); StringBuilder str = new StringBuilder(); foreach (Match b in a) { if (b.Success) { str.Append(b.Groups[1].Value); } } textBox2.Text = re.Replace(textBox1.Text, m => { if (m.Success) { return m.Value.Replace(m.Groups[1].Value, "[" + m.Groups[1].Value + "]"); } else { return "null]"; } }); } } }
替换后:
Description ( "[Gets or sets the name of the series.]"
),
Description( "[Gets the series' collection of data points.]" ),
Category("Elements"),
DesignerSerializationVisibility(DesignerSerializationVisibility.Content),
Editor("DevExpress.XtraCharts.Design.SeriesCollectionEditor,"
+ AssemblyInfo.SRAssemblyCharts, typeof(System.Drawing.Design.UITypeEditor)),
System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)
]
[
Description("[Gets or sets the text that identifies the series within the legend of a chart control.]"),
Category("Behavior"),
Localizable(true),
DefaultValue("")
]