|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 零度非安全 于 2017-2-8 23:32 编辑
以下都是自己总结的,一字一码手敲上去,希望大家能跟着非安全好好地学习正则表达式 。
好,那我就废话不多说,直接发车(滴~滴~滴~~~),没刷卡的请不要上车 。
首先我说下我自己对正则表达式的一个理解:
正则表达式(Regular Expression)
正则正则,顾名思义,正当的规则嘛,描述一个规则(所谓无规矩不成方圆,任何事物都要遵守规则,不然就乱套了),通
过这个规则可以匹配一类字符串,学习正则表达式很大程度上就是学习它的语法,无他。
因为正则表达式是大家以后操作文本经常使用到的一种技术,对于处理一些复杂的文本非常的有帮助,鱼油们学习正则表达
式的时候可以把它当做一门独立的语言来学习,因为之后做东西的时候经常要处理文本以及字符串,当然一些简单的操作是
不需要正则表达式的。遇到稍微复杂的那么可能需要正则表达式来处理,所以大家应该好好学习下正则表达式,不仅 Java
语言,大部分编程语言、数据库、文本编辑器,开发环境都支持正则表达式。
正则表达式是一种强大而灵活的文本处理工具,那么在实际开发过程中怎么来使用正则表达式?可以归纳以下几个步骤:
一.分析所要匹配的数据,写出测试用的典型的数据
二.在工具软件中进行匹配测试
三.在程序中调用通过测试的正则表达式
接下来我要介绍一个工具,叫 RegexBuddy,软件我已打包,大家进行下载,无需安装,解压后直接运行即可。
RegexBuddy.rar
(1.65 MB, 下载次数: 361)
一个猫头鹰的图标
下面我来教大家怎么用这个软件来测试正则表达式
软件的主界面:
我在这里用了鱼 C 论坛网页源代码作为测试样本,这个“编程”字符串就是正则表达式中的普通字符。那什么是普通字符
呢?简单点来说,字母、数字、汉字、下划线以及没有特殊定义的标点符号,都是“普通字符”,表达式中的普通字符,
在匹配一个字符串的时候,匹配与之相同的一个字符,下面列举简单转义字符
简单的转义字符 | 代表的含义 | \n | 换行符 | \t | 制表符 | \\ | 代表 \ 本身 | \^、\$、\.、\(、\)、\{、\}、\?、\+、\*、\|、\[、\] | 匹配这些字符本身 |
我在这里就拿 \t 来测试,如下:
另外几个大家可以自行测试下,在这里不一一测试。
接下来我们来谈下标准字符集合,标准字符集合能够与“多种字符”匹配的表达式,注意区分大小写,大写是相反的意思。
同样的我将标准字符集合列举下
标准字符 | 代表的含义 | \d | 任意一个数字,0~9 中的任意一个 | \w | 任意一个字母或数字或下划线,也就是 A~Z,a~z,0~9,_ 中任意一个 | \s | 包括空格、制表符、换行符等空白字符的其中任意一个 | . | 小数点可以匹配任意一个字符(除了换行符),如果要匹配包括“\n”在内的所有字符,一般用[\s\S] |
同样我在这里拿 \d 和 \D 来测试,如下:
再次重复一遍,注意区分大小写,大写是相反的意思。其它几个请大家自己测试 一遍,在这里就不一一测试了。
最后讲下自定义字符集合,它是用中括号“ [ ] ”匹配方式,能够匹配中括号中的任意字符。在这里列举简单的自定义字符
集合。
自定义字符 | 代表的含义 | [fishc6@] | 匹配 "f"、"i"、"s"、"h"、"c"、"6"、"@" | [^fishc] | 匹配 "f"、"i"、"s"、"h"、"c" 之外的任意一个字符 | [c-f] | 匹配 c~f 之间任意一个字符 | [^C-F0-6] | 匹配 C~F 和 0~6 之外的任意一个字符 |
同样还是拿例子来说明,我在这里用 [^fishc] 来测试,如下:
注意两者的区别,其它几个请大家自己测试 一遍,在这里就不一一测试了。
下一节我给大家讲下自定义字符的一些特殊用法 —— 量词、贪婪与非贪婪模式。
【Java正则表达式】01. 量词、贪婪与非贪婪模式
|
评分
-
查看全部评分
|