一些常用的 正则表达式,区别于网上其他式子。
2011-07-16 13:31
387 查看
这是一个表达式练习/验证工具,顺便写入了我常用的一些式子。 ================================================================ using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; using System.Text.RegularExpressions; namespace 正则表达式练习工具 { /// <summary> /// Form1 的摘要说明。 /// </summary> public class Form1 : System.Windows.Forms.Form { private Hashtable ht = new Hashtable(); private System.Windows.Forms.GroupBox groupBox1; private System.Windows.Forms.GroupBox groupBox2; private System.Windows.Forms.Button btnPiPei; private System.Windows.Forms.Button btnClose; private System.Windows.Forms.Label label1; private System.Windows.Forms.TextBox tbRegixContent; private System.Windows.Forms.Label label2; private System.Windows.Forms.TextBox tbResult; private ArrayList al = new ArrayList(); private ArrayList al1 = new ArrayList(); private System.Windows.Forms.TextBox tbContents; private System.Windows.Forms.TextBox tbResult1; private System.Windows.Forms.ComboBox comboBox1; /// <summary> /// 必需的设计器变量。 /// </summary> private System.ComponentModel.Container components = null; public Form1() { // // Windows 窗体设计器支持所必需的 // InitializeComponent(); // // TODO: 在 InitializeComponent 调用后添加任何构造函数代码 // } /// <summary> /// 清理所有正在使用的资源。 /// </summary> protected override void Dispose( bool disposing ) { if( disposing ) { if (components != null) { components.Dispose(); } } base.Dispose( disposing ); } #region Windows 窗体设计器生成的代码 /// <summary> /// 设计器支持所需的方法 - 不要使用代码编辑器修改 /// 此方法的内容。 /// </summary> private void InitializeComponent() { System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(Form1)); this.groupBox1 = new System.Windows.Forms.GroupBox(); this.label2 = new System.Windows.Forms.Label(); this.tbContents = new System.Windows.Forms.TextBox(); this.tbRegixContent = new System.Windows.Forms.TextBox(); this.label1 = new System.Windows.Forms.Label(); this.groupBox2 = new System.Windows.Forms.GroupBox(); this.tbResult1 = new System.Windows.Forms.TextBox(); this.tbResult = new System.Windows.Forms.TextBox(); this.btnPiPei = new System.Windows.Forms.Button(); this.btnClose = new System.Windows.Forms.Button(); this.comboBox1 = new System.Windows.Forms.ComboBox(); this.groupBox1.SuspendLayout(); this.groupBox2.SuspendLayout(); this.SuspendLayout(); // // groupBox1 // this.groupBox1.Controls.Add(this.label2); this.groupBox1.Controls.Add(this.tbContents); this.groupBox1.Controls.Add(this.tbRegixContent); this.groupBox1.Controls.Add(this.label1); this.groupBox1.Location = new System.Drawing.Point(16, 8); this.groupBox1.Name = "groupBox1"; this.groupBox1.Size = new System.Drawing.Size(536, 176); this.groupBox1.TabIndex = 0; this.groupBox1.TabStop = false; this.groupBox1.Text = "输入"; // // label2 // this.label2.ForeColor = System.Drawing.Color.Brown; this.label2.Location = new System.Drawing.Point(8, 72); this.label2.Name = "label2"; this.label2.Size = new System.Drawing.Size(56, 23); this.label2.TabIndex = 3; this.label2.Text = "输入内容"; // // tbContents // this.tbContents.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(134))); this.tbContents.ForeColor = System.Drawing.Color.Brown; this.tbContents.Location = new System.Drawing.Point(64, 63); this.tbContents.Multiline = true; this.tbContents.Name = "tbContents"; this.tbContents.ScrollBars = System.Windows.Forms.ScrollBars.Vertical; this.tbContents.Size = new System.Drawing.Size(464, 97); this.tbContents.TabIndex = 2; this.tbContents.Text = ""; // // tbRegixContent // this.tbRegixContent.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(134))); this.tbRegixContent.ForeColor = System.Drawing.Color.Brown; this.tbRegixContent.Location = new System.Drawing.Point(64, 24); this.tbRegixContent.Name = "tbRegixContent"; this.tbRegixContent.Size = new System.Drawing.Size(464, 26); this.tbRegixContent.TabIndex = 1; this.tbRegixContent.Text = ""; // // label1 // this.label1.ForeColor = System.Drawing.Color.Brown; this.label1.Location = new System.Drawing.Point(8, 32); this.label1.Name = "label1"; this.label1.Size = new System.Drawing.Size(56, 23); this.label1.TabIndex = 0; this.label1.Text = "表达式"; // // groupBox2 // this.groupBox2.Controls.Add(this.tbResult1); this.groupBox2.Controls.Add(this.tbResult); this.groupBox2.Location = new System.Drawing.Point(16, 184); this.groupBox2.Name = "groupBox2"; this.groupBox2.Size = new System.Drawing.Size(536, 248); this.groupBox2.TabIndex = 1; this.groupBox2.TabStop = false; this.groupBox2.Text = "输出"; // // tbResult1 // this.tbResult1.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(134))); this.tbResult1.ForeColor = System.Drawing.Color.Brown; this.tbResult1.Location = new System.Drawing.Point(0, 136); this.tbResult1.Multiline = true; this.tbResult1.Name = "tbResult1"; this.tbResult1.ScrollBars = System.Windows.Forms.ScrollBars.Vertical; this.tbResult1.Size = new System.Drawing.Size(536, 104); this.tbResult1.TabIndex = 4; this.tbResult1.Text = ""; // // tbResult // this.tbResult.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(134))); this.tbResult.ForeColor = System.Drawing.Color.Brown; this.tbResult.Location = new System.Drawing.Point(3, 17); this.tbResult.Multiline = true; this.tbResult.Name = "tbResult"; this.tbResult.ScrollBars = System.Windows.Forms.ScrollBars.Vertical; this.tbResult.Size = new System.Drawing.Size(530, 116); this.tbResult.TabIndex = 3; this.tbResult.Text = ""; // // btnPiPei // this.btnPiPei.FlatStyle = System.Windows.Forms.FlatStyle.System; this.btnPiPei.Location = new System.Drawing.Point(56, 448); this.btnPiPei.Name = "btnPiPei"; this.btnPiPei.Size = new System.Drawing.Size(128, 32); this.btnPiPei.TabIndex = 2; this.btnPiPei.Text = "匹 配 (&P)"; this.btnPiPei.Click += new System.EventHandler(this.btnPiPei_Click); // // btnClose // this.btnClose.FlatStyle = System.Windows.Forms.FlatStyle.System; this.btnClose.Location = new System.Drawing.Point(208, 448); this.btnClose.Name = "btnClose"; this.btnClose.Size = new System.Drawing.Size(136, 32); this.btnClose.TabIndex = 3; this.btnClose.Text = "关 闭 (&C)"; this.btnClose.Click += new System.EventHandler(this.btnClose_Click); // // comboBox1 // this.comboBox1.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(134))); this.comboBox1.Location = new System.Drawing.Point(368, 456); this.comboBox1.Name = "comboBox1"; this.comboBox1.Size = new System.Drawing.Size(184, 24); this.comboBox1.TabIndex = 4; this.comboBox1.Text = "comboBox1"; this.comboBox1.SelectedIndexChanged += new System.EventHandler(this.comboBox1_SelectedIndexChanged); // // Form1 // this.AutoScaleBaseSize = new System.Drawing.Size(6, 14); this.ClientSize = new System.Drawing.Size(570, 496); this.Controls.Add(this.comboBox1); this.Controls.Add(this.btnClose); this.Controls.Add(this.btnPiPei); this.Controls.Add(this.groupBox2); this.Controls.Add(this.groupBox1); this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.Name = "Form1"; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; this.Text = "正则表达式练习工具 V1.0 BY THUNDERS STUDIO"; this.Load += new System.EventHandler(this.Form1_Load); this.groupBox1.ResumeLayout(false); this.groupBox2.ResumeLayout(false); this.ResumeLayout(false); } #endregion /// <summary> /// 应用程序的主入口点。 /// </summary> [STAThread] static void Main() { Application.EnableVisualStyles(); Application.Run(new Form1()); } private void btnClose_Click(object sender, System.EventArgs e) { this.Close(); } private void Regix(string RegixContect,string MainStr) { al.Clear(); al1.Clear(); Regex r; Match m; //返回汉字 r = new Regex(RegixContect, RegexOptions.IgnoreCase|RegexOptions.Compiled); for (m = r.Match(MainStr); m.Success; m = m.NextMatch()) { if(m.Groups[0].Value.Trim() !="") al.Add(m.Groups[0].Value); if(m.Groups[1].Value.Trim() !="") al1.Add(m.Groups[1].Value); } } private void btnPiPei_Click(object sender, System.EventArgs e) { Hashtable ht; try { tbResult.Text = ""; tbResult1.Text = ""; Regix(tbRegixContent.Text.Trim(),tbContents.Text.Trim()); if(al.Count ==0 || al1.Count ==0) MessageBox.Show("匹配错误!"); else { for(int i=0;i<al.Count;i++) { tbResult.AppendText(al[i].ToString() + "\r\n"); } tbResult.Refresh(); for(int i=0;i<al1.Count;i++) { tbResult1.AppendText(al1[i].ToString() + "\r\n"); } tbResult.Refresh(); tbResult1.Refresh(); } } catch { MessageBox.Show("匹配错误!"); } } private void Form1_Load(object sender, System.EventArgs e) { ht.Add("脚本","(S|s)(r|R)(C|c)(|\\s*)=(|\\s*)(\"|\'|)(?:(?<1>\\S+)(\"|\')|(?<1>\\S+))"); ht.Add("超链","(h|H)(r|R)(e|E)(f|F)(|\\s*)=(|\\s*)(\"|\'|)(?:(?<1>\\S+)(\"|\')|(?<1>\\S+))"); ht.Add("邮件地址","(%20%20w+%29%2A%40%20%20w+%28[-.]%20%20w+%29%2A.%20%20w+%28[-.]%20%20w/]\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*.\\w+([-.]\\w+)*)"); ht.Add("图片链接","(S|s)(r|R)(C|c)(|\\s*)=(|\\s*)(\"|\'|)(?:(?<1>\\S+)(\"|\')|(?<1>\\S+))"); ht.Add("ip地址","(\\d+).(\\d+).(\\d+).(\\d+)"); ht.Add("中国手机号码","\\(86\\)*0*13\\d{9}"); ht.Add("中国固定电话号码","(\\d{3,4}(-| )\\d{7,8})"); ht.Add("包括移动和固定电话","((\\d{3,4})|\\d{3,4}-|\\s)?\\d{7,14}"); ht.Add("邮政编码","[0-9]{1}(\\d+){5}"); ht.Add("中国***号码","(\\d{18})|(\\d{15})"); ht.Add("整数","(\\d+)"); ht.Add("浮点数","(\\d+.\\d+)"); ht.Add("任何数字","(-?\\d*)(.\\d+)?"); ht.Add("中文字符串","([\\u4e00-\\u9fa5]*)"); ht.Add("英文字符串","\\w*"); ht.Add("双字节字符串","([^\\x00-\\xff]*)"); // comboBox1.DataBindings.Add("SelectedText",ht,""); // comboBox1.DataBindings.Add("SelectedValue",ht,"Values"); string[] array = new string[ht.Count]; ht.Keys.CopyTo(array,0); comboBox1.Text = "脚本"; comboBox1.Items.AddRange(array); } private void comboBox1_SelectedIndexChanged(object sender, System.EventArgs e) { tbRegixContent.Text = ht[comboBox1.SelectedItem.ToString()].ToString(); } } } |
相关文章推荐
- 记录一些常用的正则表达式
- 一些常用的jquery数字正则表达式
- 最全的常用正则表达式大全——包括校验数字、字符、一些特殊的需求等
- 最全的常用正则表达式大全――包括校验数字、字符、一些特殊的需求等
- JAVA一些常用的正则表达式
- 收集一些常用的正则表达式。
- 最全的常用正则表达式大全——包括校验数字、字符、一些特殊的需求等等
- 一些常用的正则表达式
- 收集一些常用的正则表达式
- [转]最全的常用正则表达式大全——包括校验数字、字符、一些特殊的需求等等本文出处
- 最全的常用正则表达式大全——包括校验数字、字符、一些特殊的需求
- 一些常用的正则表达式
- 一些常用的正则表达式
- 今后可能常用的一些正则表达式
- 最全的常用正则表达式大全——包括校验数字、字符、一些特殊的需求等等
- 一些常用的正则表达式
- 最全的常用正则表达式大全——包括校验数字、字符、一些特殊的需求等等
- 最全的常用正则表达式大全——包括校验数字、字符、一些特殊的需求等等
- 常用的一些正则表达式
- 常用的一些正则表达式