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

正则表达式知识整理

 
阅读更多

在正则表达式中,.是代表任一字符,.+是代表任意一个或多个字符,[]括号代表括号中任一字符,[.]是代表 ". "号,[.]+是代表一个或多个 ". "号,和\.+的意思是一样的。 

正则表达式中()的作用和在数学中的很像,就是把括起来的内容当作一个整体。 
[]的作用上面说了,{n},匹配前面的字符n次,{n,}匹配前面的字符n次或更多,{n,m}匹配前面的字符最少n次,最多m次,如果n为0,可以不指定。

 

元字符 描述
.点 匹配任何单个字符。例如正则表达式r.t匹配这些字符串:rat、rut、r t,但是不匹配root。
$ 匹配行结束符。例如正则表达式weasel$ 能够匹配字符串"He's a weasel"的末尾 
但是不能匹配字符串"They are a bunch of weasels."
^ 匹配一行的开始。例如正则表达式^When in能够匹配字符串"When in the course of human events"的开始,但是不能匹配"What and When in the"
* 匹配0或多个正好在它之前的那个字符。例如正则表达式。*意味着能够匹配任意数量的任何字符。
\ 这是引用符,用来将这里列出的这些元字符当作普通的字符来进行匹配。例如正则表达式\$被用来匹配美元符号,而不是行尾,类似的,正则表达式\.用来匹配点字符,而不是任何字符的通配符。
[ ] 
[c1-c2] 
[^c1-c2]
匹配括号中的任何一个字符。例如正则表达式r[aou]t匹配rat、rot和rut,但是不匹配ret。可以在括号中使用连字符-来指定字符的区间,例如正则表达式[0-9]可以匹配任何数字字符;还可以制定多个区间,例如正则表达式[A-Za-z]可以匹配任何大小写字母。另一个重要的用法是“排除”,要想匹配除了指定区间之外的字符——也就是所谓的补集——在左边的括号和第一个字符之间使用^字符,例如正则表达式[^269A-Z] 将匹配除了2、6、9和所有大写字母之外的任何字符。
\< \> 匹配词(word)的开始(\<)和结束(\>)。例如正则表达式\<the\>能够匹配字符串"for the wise"中的"the",但是不能匹配字符串"otherwise"中的"the"。注意:这个元字符不是所有的软件都支持的。
\( \) 将 \( 和 \) 之间的表达式定义为“组”(group),并且将匹配这个表达式的字符保存到一个临时区域(一个正则表达式中最多可以保存9个),它们可以用 \1 到\9 的符号来引用。
| 将两个匹配条件进行逻辑“或”(Or)运算。例如正则表达式(him|her) 匹配"it belongs to him"和"it belongs to her",但是不能匹配"it belongs to them."。注意:这个元字符不是所有的软件都支持的。
+ 匹配1或多个正好在它之前的那个字符。例如正则表达式9+匹配9、99、999等。注意:这个元字符不是所有的软件都支持的。
? 匹配0或1个正好在它之前的那个字符。注意:这个元字符不是所有的软件都支持的。
{i} 
{i,j}
匹配指定数目的字符,这些字符是在它之前的表达式定义的。例如正则表达式A[0-9]{3} 能够匹配字符"A"后面跟着正好3个数字字符的串,例如A123、A348等,但是不匹配A1234。而正则表达式[0-9]{4,6} 匹配连续的任意4个、5个或者6个数字字符。注意:这个元字符不是所有的软件都支持的。

 

关于匹配和替换的示例

//如果rt中包含了表示数值意义的连续数字时,去除高位的字符“0”
		String rt = "1002abc03d00405F060708009";
		Pattern p = Pattern.compile("(?<![0-9])(0+)([1-9][0-9]*)");
		Matcher m = p.matcher(rt);
		while (m.find()){
			System.out.print(m.group() + " " + m.group(1) + " " + m.group(2));
			rt = m.replaceFirst(m.group(2));
			System.out.println("" + rt);
			m.reset(rt);
		}
		System.out.println(rt);

 打印结果如下:

03 0 31002abc3d00405F060708009
00405 00 4051002abc3d405F060708009
060708009 0 607080091002abc3d405F60708009
1002abc3d405F60708009
 

 

 

0
0
分享到:
评论

相关推荐

    C#正则表达式整理备忘

    有一段时间,正则表达式学习很火热很潮流,当时在CSDN一天就能看到好几个正则表达式的帖子,那段时间借助论坛以及Wrox Press出版的《C#字符串和正则表达式参考手册》学习了一些基础的知识,同时也为我在CSDN大概赚了...

    正则表达式知识全集,都是自己整理的

    正则表达式知识全集,都是自己整理的 正则表达式知识全集,都是自己整理的

    常用正则表达式知识点解读及判读有效数字、手机号邮箱正则表达式

    正则表达式式应用非常广泛,本文给大家收集整理些正则表达式知识点解读及判断有效数字、手机号邮箱正则表达式,对常用正则表达式相关知识感兴趣的朋友一起学习吧

    全面介绍正则表达式使用及相关例子

    这是自己整理的正则表达式相关知识,正则表达式的使用,相关实例,包含了常用的验证正则表达式写法

    正则表达式例子及笔记

    此文件是我看了正则表达式基础知识后整理的一些例子和笔记。

    Python爬虫 正则表达式应用详解

    学习Python爬虫过程中的心得体会以及知识点的整理,方便我自己查找,也希望可以和大家一起交流。 —— 正则表达式应用详解 —— 文章目录Python爬虫(二十一)—— 正则表达式应用详解 ——1. 简介2. 语法 1. 简介 ...

    Java正则表达式易错知识点汇总

    主要总结Java正则表达式易错知识,对易错知识点进行分类整理,帮助大家更好的学习Java正则表达式,感兴趣的小伙伴们可以参考一下

    正则表达式的基础知识、简介和一些简单运用

    个人整理的一份正则表达式的基础知识、简介和一些简单运用。。。。。。。。。。。

    Python基础——正则表达式

    正则表达式 (Regular Expression) 又称 RegEx, 是用来匹配字符的一种工具. 在一大串字符中寻找你需要的内容. 它常被用在很多方面, 比如网页爬虫, 文稿整理, 数据筛选等等. 最简单的一个例子, 比如我需要爬取网页中每...

    详解易语言正则表达式的多行匹配替换

    在本篇内容里小编给大家整理了关于易语言正则表达式的多行匹配替换的知识点内容,有需要的朋友们学习下。

    正则表达式(regular)知识(整理)

    正则(regular),要使用正则表达式需要导入Python中的re(regular正则的缩写)模块。正则表达式是对字符串的处理,我们知道,字符串中有时候包含很多我们想要提取的信息,掌握这些处理字符串的方法,能够方便很多...

    C# 正则表达式经典分类整理集合手册第1/3页

    有一段时间,正则表达式学习很火热很潮流,当时在CSDN一天就能看到好几个正则表达式的帖子,那段时间借助论坛以及Wrox Press出版的《C#字符串和正则表达式参考手册》学习了一些基础的知识,同时也为我在CSDN大概赚了...

    实例详解C#正则表达式

    有一段时间,正则表达式学习很火热很潮流,当时在脚本之间平台一天就能看到好几个正则表达式的帖子,那段时间借助论坛以及Wrox Press出版的《C#字符串和正则表达式参考手册》学习了一些基础的知识,同时也为我在CSDN...

    常用C#正则表达式汇总介绍

    有一段时间,正则表达式学习很火热很潮流,当时在CSDN一天就能看到好几个正则表达式的帖子,那段时间借助论坛以及Wrox Press出版的《C#字符串和正则表达式参考手册》学习了一些基础的知识,同时也为我在CSDN大概赚了...

    PHP正则表达式笔记与实例详解

    找来以前的学习笔记,好好看了一下,又巩固了这些知识,工作算是完成了,不过正则要学的东西还是蛮多的,以下是整理的以前的笔记和一些实例! 笔记: 一、正则表达式的介绍:  正则表达式是用于描述字符排列和匹配模式的...

    Python爬虫 Re库与正则表达式的细节解析

    学习Python爬虫过程中的心得体会以及知识点的整理,方便我自己查找,也希望可以和大家一起交流。 —— Re库与正则表达式的细节解析 —— 文章目录Python爬虫(二十三)—— Re库与正则表达式的细节解析 ——1. 麻烦...

    正则表达式日常收集整理(简单且实用)

    正则表达式,又称正规表示法、常规表示法。正则表达式的功能非常的强大,下面是小编日常收集整理的有关正则表达式常用知识,感兴趣的朋友一起学习吧

    Python re正则表达式元字符分组()用法分享

    在本篇文章里小编给大家整理了关于Python re正则表达式元字符分组()的相关知识点实例,需要的朋友们可以学习下。

    JavaScript正则表达式(总结篇)

    本文是小编参考其他有关js正则表达式资料整理的,主要目的有两个:一:自我复习归纳总结。二:共享方便大家搜索 。js正则表达式感兴趣的朋友可以一起学习,没有写的知识点,欢迎大家补充,共同学习进步. 验证数字:^...

Global site tag (gtag.js) - Google Analytics