正则表达式快速验证工具
来源:互联网 发布:mac单机游戏怎么安装 编辑:程序博客网 时间:2024/06/15 18:18
正则表达式快速验证工具
Posted on 2009-01-05 21:39 wknight 阅读(278) 评论(0) 编辑 收藏 网摘 所属分类: WinForm刚刚在codeproject上面逛,看见David Veeneman以前写的一篇验证正则的文章很不错,小巧快捷,安装后,可以快速的编写正则表达式,并填入验证文本进行验证。思路:将正则表达式文本作为Regex构造函数的一个参数,来创建一个Regex的实例,如果正则表达式错误,Regex类将抛出一个参数无效异常,利用try...catch捕获这个异常,将异常信息作为消息显示给用户,如果正则表达式正确,再继续将测试文本和正则进行匹配,并提示成功信息。
见图:
测试文本匹配正则失败界面
测试文本匹配正则成功的界面
正则表达式输入不正确时的异常信息
源代码分析:
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 RegexTester
{
public partial class Form1 : Form
{
private Regex regex = null;
public Form1()
{
InitializeComponent();
}
private void RegexText_TextChanged(object sender, EventArgs e)
{
// 没有正则表达式输入
if (RegexText.Text == String.Empty)
{
RegexText.BackColor = Color.White;
TestText.BackColor = Color.White;
Message.Text = String.Empty;
return;
}
// 验证正则
try
{
regex = new Regex(RegexText.Text);
Message.Text = String.Empty;
RegexText.BackColor = Color.PaleGreen;
this.ValidateTestBox();
}
catch (ArgumentException error)
{
Message.Text = error.Message;
RegexText.BackColor = Color.LightPink;
}
}
private void TestText_TextChanged(object sender, EventArgs e)
{
this.ValidateTestBox();
}
private void ValidateTestBox()
{
// 如果没有正则表达式即跳过验证
if (RegexText.Text == String.Empty)
{
TestText.BackColor = Color.White;
return;
}
// 验证正则
bool IsMatch = regex.IsMatch(TestText.Text);
if (IsMatch)
{
Message.Text = "匹配成功";
Message.ForeColor = Color.Green;
TestText.BackColor = Color.PaleGreen;
}
else
{
Message.Text = "匹配失败";
Message.ForeColor = Color.Red;
TestText.BackColor = Color.LightPink;
}
}
private void buttonClearAll_Click(object sender, EventArgs e)
{
RegexText.Clear();
TestText.Clear();
}
private void buttonClearRegex_Click(object sender, EventArgs e)
{
RegexText.Clear();
}
private void buttonClearTest_Click(object sender, EventArgs e)
{
TestText.Clear();
}
}
}
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 RegexTester
{
public partial class Form1 : Form
{
private Regex regex = null;
public Form1()
{
InitializeComponent();
}
private void RegexText_TextChanged(object sender, EventArgs e)
{
// 没有正则表达式输入
if (RegexText.Text == String.Empty)
{
RegexText.BackColor = Color.White;
TestText.BackColor = Color.White;
Message.Text = String.Empty;
return;
}
// 验证正则
try
{
regex = new Regex(RegexText.Text);
Message.Text = String.Empty;
RegexText.BackColor = Color.PaleGreen;
this.ValidateTestBox();
}
catch (ArgumentException error)
{
Message.Text = error.Message;
RegexText.BackColor = Color.LightPink;
}
}
private void TestText_TextChanged(object sender, EventArgs e)
{
this.ValidateTestBox();
}
private void ValidateTestBox()
{
// 如果没有正则表达式即跳过验证
if (RegexText.Text == String.Empty)
{
TestText.BackColor = Color.White;
return;
}
// 验证正则
bool IsMatch = regex.IsMatch(TestText.Text);
if (IsMatch)
{
Message.Text = "匹配成功";
Message.ForeColor = Color.Green;
TestText.BackColor = Color.PaleGreen;
}
else
{
Message.Text = "匹配失败";
Message.ForeColor = Color.Red;
TestText.BackColor = Color.LightPink;
}
}
private void buttonClearAll_Click(object sender, EventArgs e)
{
RegexText.Clear();
TestText.Clear();
}
private void buttonClearRegex_Click(object sender, EventArgs e)
{
RegexText.Clear();
}
private void buttonClearTest_Click(object sender, EventArgs e)
{
TestText.Clear();
}
}
}
- 正则表达式快速验证工具
- 正则表达式验证工具
- 在线正则表达式验证工具
- 正则表达式验证工具类
- 常用正则表达式验证工具
- 正则表达式验证调试工具
- Rubular- 在线正则表达式验证工具
- 正则表达式的验证工具RegexTest
- 简单的正则表达式验证工具
- 正则表达式验证工具类RegexUtils.java
- 验证(正则表达式)工具类
- Util之RegexValidateUtil--正则表达式验证工具
- 正则表达式验证工具类RegexUtils.java
- java中的正则表达式验证工具
- 正则表达式验证工具类RegexUtils.java
- C#正则表达式|C#快速开发工具
- 正则表达式验证验证
- win7自带的正则表达式验证工具----powershell
- Java多态浅谈
- 浅谈游戏程序设计入门
- 对一个大型数组进行二元搜索
- 数据同步
- 代理模式(Proxy)-对象结构型模式
- 正则表达式快速验证工具
- 计算机日期
- 关于ORACLE PLSQL读文件
- reactos操作系统实现(135)
- 操作系统实验 页式地址变换机构模拟 c++
- 收藏:让你吃惊的60个绝对得看的常识!!!!
- oracle 存储过程的基本语法
- 使用cydia gnu debugger 在iphone真机上调试时的注意事项
- 数组实现线程安全的栈