`
朱润泽
  • 浏览: 47323 次
  • 性别: Icon_minigender_1
  • 来自: 江西
社区版块
存档分类
最新评论

java正则表达式的初步

    博客分类:
  • java
阅读更多

Java正则表达式

1、句点符号(.

句点符号可以匹配所有的任意的字符,甚至是换行符。

正则表达式:t.n

匹配:tan, Ten, tin等等

 

但需要注意的是:句点符号只能匹配一个任意的字符。

如:t.nteen的匹配为false

 

2、方括号符号([]

为了解决句点符号匹配范围过于广泛的这一问题,可以使用方括号[],里面指定的有意义的字符。只有方括号里面指定的字符才能匹配。

 

正则表达式:t[aeio]n

匹配: tan, Ten , tin, ton

 

同样,方括号中只能匹配一个字符。如上正则表达式   t[aeio]n  taen的匹配为false

 

3、“或”符号

“或”符号的运算和方括号的使用相似,只是“或”可以对表达式中的字符分组,换句话说就是“或”可以匹配多个字符,而方括号只能匹配单个字符。

 

正则表达式:t(a|e|i|o|oo)n

匹配: tan, ten, tin ,ton , toon

 

4、表示匹配的次数的符号

下面的符号分别显示匹配的次数,这些符号用来确定紧靠该符号左边的符号的出现的次数

 

符号                     次数

 *                       

符号 次数
* 0次或者多次
+ 1次或者多次
0次或者1次
{n} 恰好n次
{n,m} 从n到m次

 

 

 

<!--EndFragment--><!--EndFragment--><!--EndFragment--><!--EndFragment-->

 

5、“否”符号  “ 

“ ” 边界匹配器,行的开头。如果用在方括号内,表示不像匹配的字符。

   

[^X][a-z]

第一个不能为X,后面跟一个a-z任意的一个字符

 

6、圆括号和空白符号

假设要从格式为“June 26 , 1987”的生日日期中提取出月份部分,用来匹配该日期的表达式可以如下图:

 [a-z]+\s+[0-9]{1,2} , \s*[0-9]{4}

 

如何提取出月份部分?只需要在月份周围加上一个圆括号创建一个组,然后用ORO API 提取出它的值。修改后的正则表达式如下:

 

 ([a-z]+)\s+[0-9]{1,2} , \s*[0-9]{4}

 

 

7、其他符号

下表是常见正则表示式创建的快捷符合。

符号 等价的正则表达式
\d [0-9]
\D [^0-9]
\w [A-Z0-9]
\W [^A-Z0-9]
\s [\t\n\r\f]

 

如下面的例子:

可以将所有出现“[0-9]”的地方我们都可以用“\d

 

 

1、[^abc] 任何字符,除了abc   比如:匹配字符true  。该表达式只能匹配单个字符,对 zz的匹配为false

2、[] 方括号里面的,匹配的是一个字符,

3、[a-d[m-p]][a-zA-Z]相似  并集

4、[a-z&&[zhu]]  交集  同时属于a-zzhu其中的一个字符

[abc] a、b、c
[^abc] 除a、b、c外的
[a-zA-Z] a到z,A-Z中的任意一个字符
[a-d[m-p]] a到d,m到p中的任意一个字符
[a-z&&[def]] a到z 和def相交的一个字符
   
   

 

 

 

 

横线 -  表示范围的定义 。0-9 表示范围09之间的任何数字

 

 

 

^   行的开头

$   行的结尾

 

 

 

用法:1、 ^  行的开头。如、^A[0-9] --------表示以A开头、后面接一个数字的串

      2、 $  行的结尾,和 用法相似。 如一个以数字1开头,9结尾的手机号码:^1[0-9]{9}9$

 

 

 

public static boolean test02(){

Pattern p = Pattern.compile("([a-z]+)([0-9]+)");

Matcher m = p.matcher("zhuyingming2009");

//m.find()匹配器与模式进行匹配,匹配成功返回true,否则返回false

if(m.find() == true){

//匹配成功后,可以用匹配器的group()方法获得组里的内容,

/**

 *  不带参数的group()是获得整个内容

 *  带参数的group(int start) start表示第几个组的内容,

 *  start为0时 和不带参数的group()获得的内容一样。

 * */

String temp = m.group(2);

System.out.println("group ---> " + temp);

}

boolean result = m.matches();

return result;

}

<!--EndFragment-->

分享到:
评论

相关推荐

    Java正则表达式快速学习

    通过这些基本概念和实例,你应该对Java正则表达式有了初步了解。在实际开发中,结合更多的正则表达式语法和实践,你会发现它的强大和灵活性。不断探索和实践,你将能更熟练地运用Java正则表达式解决各种字符串处理...

    JAVA正则表达式概述视频

    在"马士兵JAVA视频教程J2SE专题正则表达式02初步认识Java正则表达式avi.flv"中,可能会进一步讲解: 1. 量词:`+`表示至少一次,`*`表示零次或多次,`?`表示零次或一次,`{n}`表示恰好n次,`{n,}`表示至少n次,`{n,...

    正则表达式.rar

    2. **初步认识Java正则表达式** - Java中的正则表达式主要通过`java.util.regex`包提供支持。 - `Pattern`类用于编译正则表达式,`Matcher`类则用于执行匹配操作,如`matches()`, `find()`, `replaceAll()`等方法...

    正则表达式校验身份证号码

    ### 正则表达式校验身份证号码 #### 知识点概述 身份证号码在中国大陆具有唯一性,用于标识每一个公民的身份。身份证号码分为15位和18位两种格式,其中18位号码是在15位基础上增加了一个4位出生年份以及一位校验码...

    本电子文档讲解了正则表达式

    这篇文档旨在帮助读者在30分钟内理解和初步掌握正则表达式的基本概念。 1. **什么是正则表达式?** 正则表达式(Regular Expression,简称regex)是一串字符序列,用于定义字符串中的模式。它能够用来检查一个字符...

    常用正则表达式******

    ### 常用正则表达式详解 #### 匹配中文字符 - **正则表达式**: `[\u4e00-\u9fa5]` - **应用场景**: - 文本处理与分析。 - 数据清洗时,用于识别并处理中文文本中的特定字符。 - **特点**: - `\u4e00` 至 `\u9fa5...

    正则表达式30分钟入门教程(超经典)

    本教程旨在帮助你快速理解正则表达式的基本概念和常见用法,让你在30分钟内入门,能够初步应用在实际编程中。 一、正则表达式基础 1. 字符类: - `\d`:匹配任何数字(等同于[0-9])。 - `\D`:匹配任何非数字...

    13.正则表达式.zip

    - 当验证用户输入的数据是否符合JSON格式时,正则表达式可以辅助进行初步的合法性检查。 - JSON格式的字符串通常需要转换成对象或数组,正则表达式在此过程中可以帮助识别键和值的边界。 4. **在编程语言中的应用...

    Java源代码案例 - 使用正则表达式解析sql语法树.zip

    - 使用正则表达式可以初步解析SQL的各个组成部分,如识别SELECT关键字、列名、表名和条件表达式。 - 对于更复杂的SQL,如子查询、联接操作,可能需要递归或自定义解析算法。 4. **SqlParser-main**: 压缩包中的...

    30分钟教你轻松掌握正则表达式

    通过这个30分钟的学习,你应该能够初步掌握正则表达式的基本用法,并开始在实际项目中应用。但请记住,正则表达式的深度和复杂性远不止于此,持续学习和实践是提升技能的关键。阅读"细说正则表达式.doc"将更深入地...

    常用正则表达式.doc

    正则表达式是一种强大的文本处理工具,用于匹配、查找、替换和验证字符串模式。在IT领域,尤其是在数据验证、文本处理和编程中,正则表达式扮演着至关重要的...而正则表达式更适合用于快速的初步筛选或简单的格式检查。

    正则表达式学习教材

    在编程语言如JavaScript、Java和Web开发中,正则表达式扮演着不可或缺的角色。通过学习正则表达式,开发者能够高效地处理复杂的字符串匹配任务。 在30分钟内,你将了解正则表达式的基础概念,包括元字符、字符转义...

    【很好的】正则表达式入门教程

    正则表达式广泛应用于各种编程语言和工具中,如JavaScript、Python、Java、Perl、SQL等,可用于文本处理、数据清洗、表单验证等多个方面。 #### 六、后续学习资源 - **官方文档**:学习特定编程语言或工具的官方...

    正则表达式获取网页HTML,css,js,图片等

    总结,正则表达式在网页资源提取方面是一个有用的工具,特别是在快速提取初步信息时。然而,为了更精确和全面地处理网页内容,应当结合其他技术,如HTML解析库和网络爬虫框架。在实践中,应根据具体需求灵活选择合适...

    正则表达式介绍

    此外,熟悉一种或多种编程语言的基础知识,如JavaScript、Python、Java等,将有助于理解和应用正则表达式。 #### 三、匹配单个字符 正则表达式中最基本的元素就是匹配单个字符,这包括大小写字母、数字和其他符号...

    正则表达式教程

    大多数现代编程语言如Python、Java、JavaScript等都支持正则表达式,并提供了相应的API进行匹配、替换和分割操作。 通过30分钟的快速入门,你应该对正则表达式有了初步的认识。继续深入学习,你会发现它在文本处理...

Global site tag (gtag.js) - Google Analytics