正则表达式(三)—常用符号

本人花费半年的时间总结的《Java面试指南》已拿腾讯等大厂offer,已开源在github ,欢迎star!

本文GitHub https://github.com/OUYANGSIHAI/JavaInterview 已收录,这是我花了6个月总结的一线大厂Java面试总结,本人已拿大厂offer,欢迎star

原文链接:blog.ouyangsihai.cn >> 正则表达式(三)—常用符号

**正则表达式 **

常用符号

前面两篇关于正则表达式的文章让我们知道了如何利用正则表达式去“匹配位置“以及如何”匹配指定字符的次数“,这篇文章继续总结正则中一些其它的常见符号。

文章还是会以实例的模式和大家一起学习,下面是用来实验用的文件。

正则表达式(三)---常用符号

这是一组形式相似的正则,主要由以下正则组成

[[:upper:]] 表示匹配任意大写字母  [[:alpha:]] 表示匹配任意大小写字母  [[:digit:]] 表示匹配任意数字 [[:alnum:]] 表示匹配任意数字以及大小写字母 [[:space:]] 表示匹配空白字符,如空格tab [[:punct:]] 表示匹配标点符号

看上面的表格,每个正则所表达的意义已经很清楚了,至于具体怎么用,还是举几个例子来说明。

下图中的命令是查找regular_2.txt文件中a后面是任意数字的行,从输出看,确实只有a后面是数字的行才会被匹配。

正则表达式(三)---常用符号

再举个例子,这次是查找regular_2.txt文件中a后面是标点符号的行,看到没,用[[:punct:]]就能达到目的了。是不是很简单,还有其它几个正则,大家有兴趣可以自己在环境上试试,这里就不一一举例了

正则表达式(三)---常用符号

[]表示匹配指定范围内的任意单个单词。这样说可能还是不太容易理解,还是用实例说明一切吧,现在来找出文件regular_2.txt 中a后面紧跟b或者紧跟c或者紧跟^的行。

正则表达式(三)---常用符号

[]中还支持用-连接表示匹配一个范围内的一个字符,比如说[A-Z]就等价于[[:upper:]],[0-9]等价于[[:lower:]]等等。

看过前面文章的同学可能会觉得诧异,^ 在位置锚定那篇文章中不是已经讲过它的作用是用来锚定行首吗?怎么这里又出现了。这是因为^和[ ]结合能表达两种含义。

^放在[]外表示匹配行首出现[]中字符的行,也就是我们前面说的锚定行首;而^放在[]内表示“排除、非”的意思,即表示匹配指定范围外的任意单个单词。

如果这样描述还是有点抽象,还是用例子来说明一切吧,^表示行首锚定的用法前面文章已经说过了这里就不再举例了,这里我们来实验下^放在[ ]中的用法,现在来查找regular_2.txt文件中a后面不含字母(包括大小写字母)的行。

正则表达式(三)---常用符号

在正则表达式中,**.表示匹配任意单个字符(换行符除外),范例如下:找出文件regular_2.txt 中字符a与字符d之间含有任意一个字符的行。可以看出,**只要

a和d之间有一个字符,不管是什么字符都匹配上了。

正则表达式(三)---常用符号

本文是正则表达式系列的第三篇文章,主要总结了正则表达式中一些常见表达式的用法,后面将会继续总结正则表达式其它的规则,希望对大家有所帮助,文章中如有遗漏或错误之处,还望大家指出!

推荐阅读:

专注服务器后台技术栈知识总结分享

欢迎关注交流共同进步

正则表达式(三)---常用符号
本人花费半年的时间总结的《Java面试指南》已拿腾讯等大厂offer,已开源在github ,欢迎star!

本文GitHub https://github.com/OUYANGSIHAI/JavaInterview 已收录,这是我花了6个月总结的一线大厂Java面试总结,本人已拿大厂offer,欢迎star

原文链接:blog.ouyangsihai.cn >> 正则表达式(三)—常用符号


 上一篇
正则表达式(二)—匹配次数的正则 正则表达式(二)—匹配次数的正则
**正则表达式 ** 匹配次数的正则 在前一篇文章中,我们总结了和位置相关的正则,在这篇文章中,我们将继续学习正则表达式其它的内容。 假如现在给你一个regular_1.txt文件,让你找出含有连续2个a的行,应该怎么查找?这还不简单嘛,c
2021-04-05
下一篇 
正则表达式(四)—分组、后向引用与转义 正则表达式(四)—分组、后向引用与转义
**正则表达式 ** 分组、后向引用与转义 本文继续总结正则表达式的其它内容,主要是分组、后向引用以及转义符。 文章还是会以实例的模式和大家一起学习,下面是用来实验所用的文件。 在讲分组之前,还是先一起回顾下匹配指定次数的正则,如
2021-04-05