在正则表达式中,[...]代表1个字符,不管里面有多少字符,最终这个东西的结果都是1个字符

对于表达式[^a]表达的匹配除了a之外的字符,并且是1个字符。

需要注意的是,有些特殊字符是不会被匹配的。

我们看一个示例,对于txt文件testRegularExperxx.txt

   aaabbb

对于该文件,输入命令grep -n '[^a]' testRegularExperxx.txt

得到的结果是:

你会发现,对于看起来的“空行”的处理似乎是不一样的,为什么呢?

仔细看看文件,虽然都是空行,但是,有的是空格,有的是 \t,有的是 \n。它们看起来都是空的,但是处理方式不一样。

这里,对于[^]a除了a之外的1个字符,能够识别空格\t,而忽略掉 \t


我们换一个新的文件,看看文件的内容

选中的时候颜色不同,也可以看出端倪来。

Hex Char Description Escape Character
09 HT Horizontal Tab \t
0a LF Line Feed \n
20 space Space

所以,你就知道了[...]的特殊的地方了。

那么如何识别空行呢?也就是仅包含\n的行。

使用^$识别!这也是比较特殊的点了。

小结

  • [...]不能识别\n
  • ^$可以识别\n,但是注意,是识别一行仅有\n的空行

另外,正则表达式的不同规则,是可以进行花样排列组合,从而识别复杂单词!进一步也可以作为词法分析的实用工具。

正则表达式特别需要注意的点:“空“字符的匹配相关推荐

  1. Python中正则表达式对单个字符,多个字符,匹配边界等使用

    Regular Expression,正则表达式,又称正规表示式.正规表示法.正则表达式.规则表达式.常规表示法(英语:Regular Expression,在代码中常简写为regex.regexp或 ...

  2. python使用正则表达式判别字符串是否以一个大写字符起始而跟随了一些小写字符

    python使用正则表达式判别字符串是否以一个大写字符起始而跟随了一些小写字符 # # Python3 code to find sequences of one upper # case lette ...

  3. java正则表达式 引用_java – 正则表达式检索引用的字符串和引用字符

    我有一种语言,它将一个字符串定义为单引号或双引号,通过加倍将字符串转义为字符串中的分隔符.例如,所有以下内容都是合法字符串: 'This isn''t easy to parse.' 'Then Jo ...

  4. php 匹配双字节字符串,收集一些常用的正则表达式(匹配中文字符、匹配双字节字符、匹配HTML标记、匹配空行 and so on~~~)...

    正则表达式用于字符串处理,表单验证等场合,实用高效,但用到时总是不太把握,以致往往要上网查一番.我将一些常用的表达式收藏在这里,作备忘之用.本贴随时会更新,请持续关注本站. 匹配中文字符的正则表达式: ...

  5. 2022-6-13 咒语和药水的成功对数,替换字符后匹配,统计得分小于 K 的子数组数目,......

    1. 咒语和药水的成功对数 You are given two positive integer arrays spells and potions, of length n and m respec ...

  6. mysql模糊查询指定根据第几个字符来匹配

    mysql模糊查询指定根据第几个字符来匹配 下图案例1中,查询某员工名中第三个字符位e,第五个字符为a的员工名和工资 select last_name,salary  FROM employess W ...

  7. python 正则表达式 断言 不定长表达式_【教程】详解Python正则表达式之: (?!…) negative lookahead assertion 前向否定匹配 /前向否定断言...

    Python 2.7的官网文档中的解释是:(?!...)Matches if ... doesn't match next. This is a negative lookahead assertio ...

  8. VS Opencv 字符模板匹配小实例

    初步认识 #include "opencv2/imgcodecs.hpp" #include "opencv2/highgui.hpp" #include &q ...

  9. Python正则表达式案例一则:单词非两端字符改为小写

    问题描述:给定一段英文,要求把其中所有单词除两端字符之外的其他字母都改为小写. 技术要点: 1)re模块的sub()函数用法: 2)match对象的group()方法. 参考代码: 运行结果: abc ...

最新文章

  1. Tomcat5集群中的SESSION复制详解
  2. Python基础语法学习笔记
  3. 干货,springboot自定义注解实现分布式锁详解
  4. python turtle渐变色_如何在matplotlib中绘制渐变色线?
  5. CRM WebClient UI里Sales area的保存原理
  6. 用asp.net core结合fastdfs打造分布式文件存储系统
  7. 手把手带你玩转Tensorflow 物体检测 API (1)——运行实例
  8. 苹果拟明年Q1推出配有mini-LED显示屏的27英寸iMac
  9. 发布阿里云OSS for phpcmsV9整合教程
  10. m()在php中的意思,计算器上的mc m+ m- mr是什么意思?
  11. win10 visualBox 新建虚拟机出现 UUID 错误
  12. hsqldb mysql_HSQLDB创建数据库和基本的数据库访问 | 学步园
  13. XCTF 3rd-HITB CTF-2017 arrdeepee 复现
  14. flutter comsumer局部刷新的问题
  15. 计算机设置休眠密码,win10系统如何设置电脑待机密码?windows10设置待机密码图文教程...
  16. VRChat模型制作笔记
  17. 接口测试流程是怎样的?
  18. 用FDM打印会遇到的3D打印常见问题详解
  19. 【DOTS学习笔记】从第一个Jobs程序入门
  20. CSS入门、基本选择器和组合选择器

热门文章

  1. poj-2955-Brackets-区间DP
  2. POJ 2386 Lake Counting
  3. Windows 自启动总结《转》
  4. java中HashMap的用法
  5. spring对事务的控制 AOP
  6. 《软件》2011年第6期刊登出 《DB 查询分析器》中断SQL语句的执行
  7. 怎么把原来的墙拆掉_家装拆除不是简单的砸砸墙,它也是有技术的
  8. linux中hadoop命令大全,hadoop常用命令
  9. 金融工作用计算机吗,为什么计算机专业的人想转金融,而金融专业的想转计算机?...
  10. python中面向对象空间时间_python基础学习Day15 面向对象、类名称空间、对象名称空间 (2)...