`
dyccsxg
  • 浏览: 205331 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
社区版块
存档分类

正则表达式常用功能代码

    博客分类:
  • Java
阅读更多

1. 校验

/**
 * 校验 email
 * @param email
 * @return
 */
public static boolean validateEmail(String email){
    String regex = "([a-z\\d]+[_|\\-|\\.]?)*[a-z\\d]+@(([a-z\\d]+[\\-]?)*[a-z\\d]+\\.)+[a-z]{2,3}";
    Pattern p = Pattern.compile(regex,Pattern.CASE_INSENSITIVE);
    Matcher m = p.matcher(email);
    return m.matches();	
}

 

2. 分割

String data = "orchids,chrysanthemum;narcissus,lotus";
String[] flowers = data.split(",|;");
for (String flower : flowers){
    System.out.println(flower);
}

 

3. 替换

String data = "<head><title>登录</title></head>";
// 使用 reluctant 模式由小到大进行匹配
data = data.replaceAll("<.+?>", "");     // 登录

 

4. 提取

String data = "<a href=\"http://www.apache.org/\">Apache</a>";
String regex = "(http://|https://){1}[\\w\\.:/\\-]+";
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(data);
if (m.find()){
    System.out.println(m.group());       // http://www.apache.org/
}

 

5. 三种匹配模式

String text = "A1BB23CCC456DDDD78910_";
Pattern p = null;
Matcher m = null;
int start, end;

// greedy 贪婪模式
System.out.println("===== greedy =====");
p = Pattern.compile("(\\w+)\\d+_?");
m = p.matcher(text);
while (m.find()){
    start = m.start();
    end = m.end();
    System.out.println(text.substring(start, end));
    System.out.println("group 1 : " + m.group(1));
}

// Reluctant 勉强模式
System.out.println("===== reluctant =====");
p = Pattern.compile("(\\w+?)\\d+_?");
m = p.matcher(text);
while (m.find()){
    start = m.start();
    end = m.end();
    System.out.println(text.substring(start, end));
    System.out.println("group 1 : " + m.group(1));
}

// Possessive 占有模式
System.out.println("===== possessive =====");
p = Pattern.compile("(\\w++)\\d+_?");
m = p.matcher(text);
while (m.find()){
    start = m.start();
    end = m.end();
    System.out.println(text.substring(start, end));
    System.out.println("group 1 : " + m.group(1));
}

// output
===== greedy =====
A1BB23CCC456DDDD78910_
group 1 : A1BB23CCC456DDDD7891
===== reluctant =====
A1
group 1 : A
BB23
group 1 : BB
CCC456
group 1 : CCC
DDDD78910_
group 1 : DDDD
===== possessive =====

 

6. END 

分享到:
评论

相关推荐

    java正则表达式.zip

    虽然正则表达式功能强大,但过度使用或者设计复杂的正则可能会导致性能下降。在处理大量数据时,应谨慎使用,并考虑优化匹配策略。 通过这些知识点,开发者可以熟练地在Java程序中运用正则表达式进行各种文本处理...

    c++写的正则表达式验证工具

    Boost库的正则表达式组件,即`boost::regex`,是C++实现正则表达式的常用选择之一,它提供了一套完整的API接口,使得在C++中编写正则表达式相关的代码变得相对简单。 在Visual Studio 2008环境下,开发者可以将...

    常用正则表达式HTML,JAVA合集

    正则表达式(Regular Expression,简称regex)是用于...理解并熟练运用这些正则表达式,对于提高代码质量和用户体验都有极大的帮助。在实际项目中,还需要根据具体需求和场景,对这些基本模式进行适当的调整或扩展。

    强大的正则表达式生成工具 C#版

    5. **常见模式库**:内置常用正则表达式模式,如邮箱、电话号码、日期等,方便用户选择使用。 6. **教程和文档**:提供详细的正则表达式使用指南和C# API参考,帮助用户学习和理解正则表达式。 7. **版本控制**:...

    正则表达式部分代码

    ### 一、正则表达式的使用场景与功能 在上述代码片段中,正则表达式被用来完成多种任务,包括字符串清洗、格式验证等。 #### 字符串清洗 1. **去除特殊字符**:`param.replaceAll("([\'\\s]{1})","");` 这行代码的...

    正则表达式工具类,正则表达式封装,Java正则表达式

    本节我们将深入探讨正则表达式工具类`RegUtils`,它封装了正则表达式的常用功能,便于在实际开发中进行复用。 首先,`RegUtils`类通常会包含一系列静态方法,这些方法接受正则表达式和待处理字符串作为参数,返回...

    最常用的一些正则表达式和验证正则表达式

    正则表达式是一种强大的文本处理工具,用于匹配、查找、替换和分析字符串。在C#编程语言中,正则表达式被广泛应用于数据验证,如检查电子邮件地址的有效性或网址URL的格式。以下是对这些常见正则表达式及其在C#中...

    IP地址的正则表达式

    例如,在编写代码时,可以通过正则表达式来验证用户输入的IP地址是否有效;在网络设备配置中,可以利用正则表达式来过滤和管理大量的IP地址信息。 总之,“IP地址的正则表达式”不仅展示了正则表达式的强大功能,也...

    C#字符串和正则表达式参考手册

    在实际开发中,结合`StringBuilder`类处理大量字符串拼接,以及利用正则表达式的强大功能进行数据验证和清洗,都将使你的代码更加高效和专业。通过深入阅读《C#字符串和正则表达式参考手册》,你将能够更全面地理解...

    深入浅出正则表达式,正则表达式详细介绍

    3. **Perl兼容正则表达式**(Perl Compatible Regular Expressions, PCRE):由Perl语言推广开来,成为最常用的正则表达式标准之一。 4. **其他引擎**:如.NET、Java等都有自己独特的实现。 #### 五、正则表达式的...

    JAVA正则表达式4种常用功能

    JAVA正则表达式4种常用功能 JAVA正则表达式是一种强大的字符串处理工具,自从JDK1.4开始,SUN公司就已经对其提供了支持。正则表达式可以实现多种功能,以下将会详细介绍四种常用的功能:查询、提取、分割和替换。 ...

    大量的正则表达式代码

    下面将详细介绍这些正则表达式的功能和应用场景。 ### 基础字符匹配 #### 1. 英文字母匹配 - **全字母匹配**:`^[A-Za-z]+$` 该表达式用于匹配整个字符串由大写或小写字母组成的情况。 - **全大写字母匹配**:`^...

    正则表达式 Java 判断字串是否合理

    根据给定的文件信息,我们可以总结出以下关于Java正则表达式的重要知识点: ### 1. 正则表达式简介 正则表达式是一种强大的文本处理工具...开发者可以根据具体需求选择合适的正则表达式来提高代码的健壮性和安全性。

    deelx正则表达式测试工具

    6. **代码生成**:能自动生成对应语言的代码片段,方便将测试的正则表达式集成到实际项目中。 7. **学习资源**:软件可能附带正则表达式的基础教程和常用模式,对于初学者来说是一份很好的参考资料。 在实际使用...

    正则表达式实时测试工具(源码)

    5. 代码高亮与提示:对于正则表达式的关键字和特殊字符进行高亮显示,并可能提供语法提示功能。 6. 错误检查:在用户输入不合法的正则表达式时,工具会给出错误提示。 7. 示例库:内置一些常见的正则表达式示例,...

    彗星正则表达式调试工具

    6. **常见正则表达式库**:集成了一些常用正则表达式模板,用户可以直接引用或作为参考,节省了编写时间。 7. **错误提示**:当输入的正则表达式有误时,工具会给出错误提示,帮助用户快速修正。 在实际工作中,...

    linux系统shell正则表达式-练习工具和教材

    本文将深入探讨Linux Shell下的正则表达式,包括其基本概念、元字符、模式匹配以及常用的实践工具和教材。 一、正则表达式基础 正则表达式(Regular Expression,简称RE)是一种模式匹配语言,用于在文本中查找符合...

    正则表达式的妙用

    JavaScript的`match()`、`search()`和`replace()`方法也是常用的正则表达式工具。 在实际操作中,你可能首先需要分析目标网站的HTML结构,找出视频链接出现的规律,然后编写相应的正则表达式。如果网站采用了动态...

    NLP正则表达式分析程序

    6. **自定义规则库**:用户可能可以保存和加载常用的正则表达式规则,以应对不同场景的需求。 7. **错误检查和调试**:对于复杂的正则表达式,程序可能会包含一个调试功能,帮助用户检查表达式的正确性,避免因语法...

    C#表单正则表达式验证手册

    `System.Text.RegularExpressions`命名空间提供了正则表达式操作所需的类和方法,其中最常用的是`Regex`类。 表单验证是Web或桌面应用中确保用户输入数据有效性和一致性的关键步骤。在C#中,通常使用`TextBox`等...

Global site tag (gtag.js) - Google Analytics