珂珂的个人博客 - 一个程序猿的个人网站

正则表达式测试工具

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Text.RegularExpressions;
using System.Threading;
using System.IO;
using MyHelper.TextHelper;

namespace RegexTest
{
    public partial class RegexForm : FYJ.Winform.Forms.BaseForm
    {
        public RegexForm()
        {
            InitializeComponent();
        }

      
        private void button1_Click(object sender, EventArgs e)
        {

            Match match = Regex.Match(this.richTextBox1.Text, this.richTextBox2.Text, RegexOptions.IgnoreCase);
            if (match != null)
            {
                this.richTextBox3.Text = match.Value;
            }
            else
            {
                this.richTextBox3.Text = "";
                MessageBox.Show("匹配失败");
            }
        }

        private void button2_Click(object sender, EventArgs e) //提取
        {
            MatchCollection matchs = Regex.Matches(this.richTextBox1.Text, this.richTextBox2.Text, RegexOptions.IgnoreCase);

            if (matchs != null && matchs.Count > 0)
            {
                string lines = "";
                int groupCount = 0;
                for (int i = 0; i < matchs.Count; i++)
                {
                    string cols = "";
                    Match match = matchs[i];
                    for (int j = 0; j < match.Groups.Count; j++)
                    {
                        if (match.Groups.Count == 1)  //如果只有一个分组  即匹配的所有项之一
                        {
                            cols += match.Groups[j].Value + " ";
                        }
                        else
                        {
                            if (j > 0)
                            {
                                cols += match.Groups[j].Value + " ";
                            }
                        }
                    }
                    groupCount = match.Groups.Count;
                    lines += cols + Environment.NewLine;
                }
                this.label_status.Text = matchs.Count + "行," + groupCount+"组";
                this.richTextBox3.Text = lines;
            }
            else
            {
                this.richTextBox3.Text = "";
                MessageBox.Show("匹配失败");
            }
        }

        private void btn浏览_Click(object sender, EventArgs e)
        {
            using (OpenFileDialog of = new OpenFileDialog())
            {
                if (of.ShowDialog() == DialogResult.OK)
                {
                    Encoding encoding = EncodingHelper.GetEncoding(of.FileName);
                    StreamReader stream = new StreamReader(of.FileName, encoding);
                    this.richTextBox1.Text = stream.ReadToEnd();
                    stream.Close();
                }
            }
        }
    }
}

上一篇:c#调用迅雷下载引擎

下一篇:个人代码全部开源


0 评论

查看所有评论

给个评论吧