using System.Globalization;
using System.Text.RegularExpressions;
/// <summary>
/// 正则表达式帮助类
/// </summary>
public sealed class RegexHelper
{
private RegexHelper()
{
}
/// <summary>
/// 清除包含'字符串
/// </summary>
public const string CLEAN_STRING = @"[']";
/// <summary>
/// 验证字符串是否为字符begin-end之间
/// </summary>
public const string IS_VALID_BYTE = @"^[A-Za-z0-9]{#0#,#1#}$";
/// <summary>
/// 验证字符串是否为年月日
/// </summary>
public const string IS_VALID_DATE =
@"^2\d{3}-(?:0?[1-9]|1[0-2])-(?:0?[1-9]|[1-2]\d|3[0-1])(?:0?[1-9]|1\d|2[0-3]):(?:0?[1-9]|[1-5]\d):(?:0?[1-9]|[1-5]\d)$";
/// <summary>
/// 验证字符串是否为小数
/// </summary>
public const string IS_VALID_DECIMAL = @"[0].\d{1,2}|[1]";
/// <summary>
/// 验证字符串是否为EMAIL
/// </summary>
public const string IS_VALID_EMAIL =
@"^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$";
/// <summary>
/// 验证字符串是否为IP
/// </summary>
public const string IS_VALID_IP =
@"^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$";
/// <summary>
/// 验证字符串是否为后缀名
/// </summary>
public const string IS_VALID_POSTFIX = @"\.(?i:{0})$";
/// <summary>
/// 验证字符串是否为电话号码
/// </summary>
public const string IS_VALID_TEL = @"(\d+-)?(\d{4}-?\d{7}|\d{3}-?\d{8}|^\d{7,8})(-\d+)?";
/// <summary>
/// 验证字符串是否为URL
/// </summary>
public const string IS_VALID_URL = @"^[a-zA-z]+://(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*(\\?\\S*)?$";
#region 替换字符串
/// <summary>
/// 替换字符串
/// </summary>
/// <param name="input">输入字符串</param>
/// <param name="regex">正则表达式</param>
/// <returns>替换后字符串</returns>
public static string ReplaceInput(string input, string regex)
{
return Regex.Replace(input, regex, string.Empty);
}
/// <summary>
/// 替换字符串
/// </summary>
/// <param name="input">输入字符串</param>
/// <param name="regex">正则表达式</param>
/// <param name="replace">替换字符串</param>
/// <returns>替换后字符串</returns>
public static string ReplaceInput(string input, string regex, string replace)
{
return Regex.Replace(input, regex, replace);
}
#endregion
#region 验证字符串
/// <summary>
/// 验证字符串
/// </summary>
/// <param name="input">输入字符串</param>
/// <param name="regex">正则表达式</param>
/// <returns>是否验证通过</returns>
public static bool CheckInput(string input, string regex)
{
return Regex.IsMatch(input, regex);
}
#endregion
#region 常用方法
/// <summary>
/// 验证字符串
/// </summary>
/// <param name="input">输入字符串</param>
/// <param name="regex">正则表达式</param>
/// <param name="begin">开始数字</param>
/// <param name="end">结尾数字</param>
/// <returns>是否验证通过</returns>
public static bool ValidByte(string input, string regex, int begin, int end)
{
bool ret = false;
if (!string.IsNullOrEmpty(regex))
{
string rep = regex.Replace("#0#", begin.ToString(CultureInfo.InvariantCulture));
rep = rep.Replace("#1#", end.ToString(CultureInfo.InvariantCulture));
ret = CheckInput(input, rep);
}
return ret;
}
/// <summary>
/// 验证字符串
/// </summary>
/// <param name="input">输入字符串</param>
/// <param name="regex">正则表达式</param>
/// <param name="fix">后缀名</param>
/// <returns>是否验证通过</returns>
public static bool ValidPostfix(string input, string regex, string fix)
{
string ret = string.Format(CultureInfo.InvariantCulture, regex, fix);
return CheckInput(input, ret);
}
#endregion
}
分享到:
相关推荐
另一个实例是匹配不包含连字符的社会安全号码,如`999999999`,正则表达式可以是`[0-9]{9}`,这将匹配任何9位的数字串。 除此之外,正则表达式还有更多的高级特性,如预查(`(?=...)`)、后顾(`(?!...)`)、分组...
Python 提供了一个名为`re`的内置模块来支持正则表达式的操作。通过这个模块,可以轻松地实现字符串的搜索、替换等功能。例如: - **查找字符串**:使用`re.search()`函数可以找到第一个匹配项的位置。 - **替换...
对于想要深入学习正则表达式的读者来说,这个博客无疑是一个宝库。 #### 2.5 Ghost_Eye的CSDN博客 Ghost_Eye在其CSDN博客中分享了一些自己编写的正则表达式案例以及收集的优秀示例。这些内容对于那些正在寻找具体...
标题中的"给大家分享一个好用的正则表达式工具"暗示了这是一个方便用户进行正则表达式操作的应用程序。这类工具通常包含测试面板,让用户可以实时查看匹配结果,以及可能提供的功能如搜索、替换、分割等。它可能还...
Match Tracer 2.0 提供了一个直观的界面,使得用户能够清晰地看到正则表达式与输入字符串之间的匹配过程,从而更好地理解正则表达式的运作机制。 在使用 Match Tracer 2.0 时,你可以: 1. **输入正则表达式**:在...
总之,正则表达式的学习是一个从理论到实践的过程,通过不断的学习和实践,可以逐步掌握这一强大的文本处理工具,提高编程效率和质量。在Java中,利用内置的正则表达式功能,可以更加便捷地实现复杂的文本处理任务。
书中提供了上百种可以在实战中使用的实例,以帮助读者使用正则表达式来处理数据和文本。对于如何使用正则表达式来解决性能不佳、误报、漏报等常见的错误以及完成一些常见的任务,本书给出了涉及基于C#、Java、...
- **协同工作**:可分享和保存正则表达式,方便团队成员共享和复用。 4. **正则表达式进阶技巧**: - **回溯**:了解正则引擎如何处理回溯,避免无限循环问题。 - **预查否定**:使用`(?!)`否定预查,匹配不包含...
这款助手软件提供了一个友好的用户界面,帮助用户更加高效地构建、测试和理解正则表达式。 正则表达式的基本概念是通过特定的字符模式匹配和操作文本。例如,"."代表任意单个字符,"*"表示前面的字符可以重复任意次...
这款工具的存在就是为了简化这个过程,提供一个直观的界面,让用户能够实时看到正则表达式的匹配结果。 正则表达式工具的核心功能可能包括: 1. **输入框**:用户可以在这个区域输入他们的正则表达式,然后应用到...
这个"正则表达式测试小工具.rar"文件是一个专门为.NET 2.0环境设计的应用程序,帮助开发者测试和验证他们的正则表达式模式。 在.NET框架中,正则表达式主要通过`System.Text.RegularExpressions`命名空间中的`Regex...
该工具的主要功能是提供一个实时预览环境,让用户在不需编写完整程序的情况下,就能检查正则表达式的匹配效果。这样可以极大地提高开发效率,避免了反复编译和运行代码的过程。以下是对该工具可能包含的一些关键特性...
10. **调试技巧**:分享调试正则表达式的方法,如使用在线工具、查看匹配过程和错误分析等。 通过阅读《正则表达式宝典》,你将能够熟练掌握这些知识,提升你在文本处理和数据处理方面的技能,无论是在网页开发、...
**简介**:RegEx Builder是一款功能全面的正则表达式构建工具,它可以帮助用户创建、测试和调试复杂的正则表达式。该工具界面友好,适合初学者和高级用户使用。 **特点**: - **调试功能**:提供实时反馈,帮助用户...
正则表达式(Regular Expression,简称regex或regexp),是一种强大的文本处理工具,它能够帮助我们在大量的文本数据中快速地找到想要的信息。正则表达式不仅在日常的数据处理工作中有着广泛的应用,而且在搜索引擎...
正则表达式在现在的编程环境中应用的极其广泛,在这里我也只做一个简单的分析,希望能在大家学习正则表达式的过程中帮助到大家。
10. **导出与导入**:为了方便在其他项目中重用或分享正则表达式,工具可能支持将表达式导出为文件,或者直接导入已有的正则模式。 总的来说,"正则表达式工具 ruiyuan_zhengze" 是一个强大的辅助工具,它简化了...
正则表达式是一种强大的文本处理工具,能够帮助开发者执行复杂的字符串搜索和替换。它在多种编程语言中都有应用,包括但不限于Python、Java、Perl、JavaScript等。通过掌握正则表达式,开发者可以更加高效地处理文本...
"Rex.exe"这款软件作为一个学习和调试正则表达式的工具,可能提供了以下功能: 1. 实时匹配测试:用户可以在输入框中输入待匹配的文本,同时在另一区域编写正则表达式,软件会实时显示匹配结果,帮助用户快速理解...