`
yeluowuhen
  • 浏览: 155938 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

正则表达式

 
阅读更多

正则表达式的作用:约束字符串的格式
 
字符集:
 []   :方括号表示其中的内容任选其一,代表一个字符
        [1234] 1,2,3,4任选其一
 ()   :表示一组内容,圆括号中可以使用"|"符号
 
 |   :逻辑或关系
        
 ^   :非,除了
     [^12] 除了1或2的其他字符
     
 -   :范围,范围应从小到大  
     [0-9]表示此字符只能是数字
     [a-f]表示此字符只能是a,b,c,d,e,f之一
     [0-6a-fA-F] 0123456abcdefABCDEF
 
 {n,m}  :修饰前一个字符,表示其出现n-m次.n应小于m
 {n}   :修饰前一个字符,表示其出现n次
 {n,}  :修饰前一个字符,表示其出现n次以上   
     0[xX][0-9a-fA-F]{1,8}
     0x7fffffff  int最大值
 
 预定义字符集:
 \d   :表示一个数字.与[0-9]意思一致
 .   :表示任意字符
 \w   :表示单词字符.[0-9a-zA-Z_] 包含个下划线
 \s   :表示空白: \t \n \r \b \p
 
 \D   :表示非数字
 \W   :非单词字符
 \S   :非空白
 
 ?   :修饰前一个字符出现0-1次.  {0,1}
 +   :修饰前一个字符出现1次以上.{1,}
 *   :修饰前一个字符出现任意次. {0,}

 
 注意:"."在正则表达式中代表任意字符,若想表示"."的原意,我们
   需要使用"\."表示
   网页url格式:
 [w]{3}\.[0-9a-zA-Z]+\.com
 
 通过上面的正则表达式,是否能描述
 wwww.sohu.com
 
 可以的.原因在于,正则表示式搜索整个字符串,判断部分内容满足
 格式就可以.

 为了解决让正则表达式全字符匹配.我们需要告诉正则表达式需要
 从字符串的开始到结尾^ $
 ^[w]{3}\.[0-9a-zA-Z]+\.com$
 
 常用的正则表达式: 
  
  邮编 :   ^[0-9][0-9][0-9][0-9][0-9][0-9]$    
      邮编只有6位数字
      ^[0-9]{6}$
      ^\d{6}$
  
  用户名:   单词字符出现8-10次
      ^\w{8,10}$
      ^[0-9a-zA-Z_]{8,10}$
  
     手机号码:   +86 15811111111   
        0086 15811111111
       15811111111
        
        ^(\+86|0086)?\s?\d{11}$
    
     身份证号:     15位或18位
                    18位最后一位有可能是x(大小写均可)
                    ^\d{15}(\d{2}[0-9xX])?$ 
    
     一个坐标:     18  ,  789
           18 789
          ^\d+(\s*,\s*|\s+)\d+$
     
     正确答案:     ABCD  A,B  A B C  A , B
 ^A?(\s*|\s*,\s*)?B?(\s*|\s*,\s*)?C?(\s*|\s*,\s*)?D?$
 
 
     日期格式:     2012-08-17
        ^\d{4}-\d{2}-\d{2}$
        ^\d{4}(-\d{2}){2}$
      
        2012-99-99
        
        
   email   :     ^\w+@\w+(\.(com|cn|net))+$ 
 
=======================================================
String中对正则表达式的支持
 String的API中有几个方法支持正则表达式
 matches()  匹配正则表达式
 slipt()         根据正则表达式拆分字符串
 replaceAll() 将满足正则表达式的部分已给定字符串替换


缓冲字符串StringBuffer和StringBuilder
 String:char[] + 操作  char[]为不变对象
     优点:使用起来更自然,贴近基本类型
     缺点:字符串拼接时资源消耗大!处理速度慢(要创建很多对象)
  
 在进行大规模频繁修改字符串时,String的缺点明显!
 这时应使用缓冲字符串
 
 StringBuffer:char[] + 操作 char[]可变
 
 缓冲字符串中的char[]数组使用一种变长算法自动扩容当前
 char[]长度.以满足其中字符串数据的拼接与修改.
 
 StringBuffer的API:
  insert() :向当前字符串中指定索引处插入字符串
  append() :在当前字符串末尾追加字符串
  delete() :删除字符串中的部分内容
  toString()  :将当前缓冲字符串转换为String


 StringBuilder:和StringBuffer几乎一样,区别在于
      StringBuilder:线程非安全
      StringBuffer :线程安全

 String的拼接优化:
  String s = s1 + s2;
  java实际运行时优化为
  String s = new StringBuilder(s1).append(s2).toString();

分享到:
评论

相关推荐

    qt使用正则表达式限制lineEdit的输入,对正则表达式进行了封装,可以直接引入,工程编译正常

    在Qt框架中,正则表达式(Regular Expression)是一种强大的文本处理工具,它允许程序员以结构化的方式匹配、查找、替换或验证字符串。本项目针对Qt的lineEdit组件,通过正则表达式实现了输入限制功能,使得lineEdit...

    正则表达式转换工具

    正则表达式(Regular Expression,简称regex)是一种强大的文本处理工具,它用于匹配、查找、替换等操作,涉及字符串处理的各个领域。正则表达式转换工具是专门针对这一需求而设计的,它能帮助用户将输入的内容转换...

    PB实现的正则表达式

    在IT领域,正则表达式(Regular Expression,简称regex)是一种强大的文本处理工具,它能够进行复杂的模式匹配、查找、替换等操作。在本话题中,我们将探讨如何使用PowerBuilder 11.5这一经典的开发环境来实现正则...

    C语言正则表达式库

    C语言正则表达式库是用于在C编程环境中处理和匹配正则表达式的软件库。这个库名为PCRE(Perl Compatible Regular Expressions),正如其名,它与Perl语言中的正则表达式语法高度兼容,提供了丰富的功能和强大的匹配...

    易语言正则表达式文本替换

    例如,"子程序_正则文本替换"可能就是一个易语言中用于执行正则表达式替换的子程序,它接收输入的文本、正则表达式模式和替换字符串,然后返回经过替换操作的新文本。 1. **正则表达式基础** - **元字符**:如`.`...

    pb 使用正则表达式源码pbregexp

    标题中的“pb 使用正则表达式源码pbregexp”指的是在PowerBuilder(简称pb)环境中,利用名为“pbregexp”的正则表达式组件来实现源代码级别的正则表达式操作。PowerBuilder是一款流行的可视化的、面向对象的软件...

    Java使用正则表达式提取XML节点内容的方法示例

    Java使用正则表达式提取XML节点内容的方法示例 Java使用正则表达式提取XML节点内容的方法示例主要介绍了Java使用正则表达式提取XML节点内容的方法,结合具体实例形式分析了java针对xml格式字符串的正则匹配相关操作...

    易语言正则表达式匹配中文

    在易语言中,正则表达式是进行文本处理、数据提取和搜索的关键工具,尤其在处理中文字符时显得尤为重要。本文将深入探讨易语言中的正则表达式匹配中文的原理、方法以及应用。 正则表达式(Regular Expression)是一...

    正则表达式调试工具

    正则表达式(Regular Expression,简称regex)是用于在文本中匹配特定模式的强大工具,广泛应用于数据验证、搜索替换和文本处理等领域。正则表达式调试工具是开发人员用来测试和优化这些模式的重要辅助工具。本文将...

    VC、VC++,MFC 正则表达式类库

    正则表达式类库则为VC++和MFC的开发者提供了对正则表达式功能的支持。 "VC、VC++,MFC 正则表达式类库"指的是在MFC中实现或集成的正则表达式处理模块。这个库通常包含一系列的类和函数,允许程序员编写符合特定模式...

    易语言正则表达式类匹配中文

    在易语言中,正则表达式类是一个非常重要的工具,用于处理字符串的模式匹配和查找。在处理中文文本时,这个功能尤为关键,因为中文字符的编码和处理方式与英文有所不同。 正则表达式是用于匹配字符串模式的一种强大...

    正则表达式测试工具C#版(src)

    正则表达式是一种强大的文本处理工具,用于在字符串中进行模式匹配和搜索。在C#编程语言中,正则表达式被广泛应用于数据验证、文本提取、格式转换等多个场景。本项目提供了一个C#编写的正则表达式测试工具,包含完整...

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

    在IT行业中,正则表达式(Regular Expression)是一种强大的文本处理工具,用于匹配、查找、替换等操作。C++作为一种通用编程语言,虽然标准库中没有内置正则表达式支持,但通过第三方库如Boost,我们可以很方便地在...

    通过正则表达式生成数据

    正则表达式(Regular Expression,简称regex)是一种强大的文本处理工具,它用于匹配、查找、替换等操作,涉及字符串的模式匹配。在本主题中,我们将深入探讨如何使用正则表达式来生成满足特定条件的随机数据。这在...

    C#正则表达式大全, 判断字符串是否为正整数,中文,英文.....

    C# 正则表达式大全 正则表达式是指用来描述字符串模式的表达式,通过使用正则表达式,我们可以轻松地实现字符串的匹配、验证、提取和替换等操作。在 C# 中,我们可以使用 System.Text.RegularExpressions 命名空间...

    C正则表达式库

    在IT领域,正则表达式库是用于处理字符串匹配、搜索和替换的重要工具。在C语言环境中,GUN(GNU)提供了一个官方的正则表达式库,这使得C程序员可以方便地在他们的应用程序中利用正则表达式的强大功能。本篇文章将...

    易语言正则表达式取网址和名称

    在IT行业中,正则表达式(Regular Expression)是一种强大的文本处理工具,用于匹配、查找、替换等操作。在本案例中,“易语言正则表达式取网址和名称”指的是使用易语言这一编程环境,结合正则表达式技术来从文本中...

    正则表达式 必知必会 pdf

    正则表达式作为一种文本处理工具,在计算机编程和数据处理领域中扮演着极其重要的角色。它不仅适用于几乎所有编程语言和计算机平台,而且能够执行复杂的文本搜索、匹配、替换和提取操作。正则表达式的核心是通过定义...

    根据正则表达式生成满足正则的数据

    在IT领域,正则表达式(Regular Expression)是一种强大的文本处理工具,用于匹配字符串模式。它们广泛应用于数据验证、搜索、替换等操作。本话题主要关注如何根据正则表达式生成满足该模式的数据,这在测试、数据...

    正则表达式翻译工具,RegexTest.exe

    正则表达式(Regular Expression,简称regex)是一种强大的文本处理工具,用于匹配、查找、替换或提取特定模式的字符串。RegexTest.exe 是一个专门用于测试和解析正则表达式的应用程序,它可以帮助用户理解和调试...

Global site tag (gtag.js) - Google Analytics