3.2.2.1匹配单个字符

Avention Avention     2022-11-28     435

关键词:

    最先开始是匹配单个字符。可采用集中方式做到:以一般字符、以转义的 meta 字符、以 . meta 字符,或是用方括号表达式:
 
  • 一般字符指的是未列于 POSIX BRE 于 ERE 的 meta 字符,包括所有文字和数字字符、绝大多是的空白字符以及标点符号字符。因此,正则表达式 a ,匹配于字符 a 。我们可以说,一般字符所表示的就是它们自己,且这种用法是最直接且易于理解的。所以,shell 匹配 shell。
  • 若 meta 字符不能表示它们自己,那当我们需要让 meta 字符表示它们自己的时候,该怎么办?答案是转义它。在前面放一个反斜杠来做到这一点。因此,\* 匹配于字面上的 * ,\\ 匹配于字面上的反斜杠,还有 \[ 匹配于左方括号。
  • . 字符意即“任一字符”。因此,a.c 匹配于 abc、aac 以及aqc。单个点号用以表示自己的情况很少,它多办与其他 meta 字符搭配使用,这一结合允许匹配多个字符,这部分稍后会提及。
  • 最后一种匹配单个字符的方式是使用方括号表达式。最简单的方括号表达式是直接将字符列表放在方括号里,例如,[aeiouy] 表示的就是所有小写元音字母。在方括号表达式里,^放在首字母表示是取反的意思;也就是说不在方括号列表里的任意字符。所以 [^aeiouy] 指的就是小写元音字符以外的任何字符,例如:大写元音字母、所有辅音字母、数字、标点符号等。
 
    将所有要匹配的字母全列出来是一件无聊又麻烦的事。例如[0123456789]指所有数字,或[0123456789abcdefABCDEF]表示所有十六进制数字。因此,方括号表达式可以包括字符的范围。像前面提到的两个例子,就可以分别以[0-9]与[0-9a-fA-F]表示。
 
    在方括号表达式中,所有其他的 meta 字符都会失去其特殊含义。所以 [ *\. ] 匹配于字面上的星号、反斜杠以及句号。要让 ] 进入该集合,可以将它放在列表的最前面:[]*\.],将 ] 增加至此列表中。要让减号字符进入该集合,也请将它放到列表最前端 [-*\.] 。若你需要都有方括号与减号两者进入列表,请将右方括号放到第一个字符、减号放到最后一个字符:[]*\.-]。
 
    最后,POSIX明确陈述:NUL字符(数值的零)不需要是可匹配的。这个字符在 C 语言里是用来指出字符串结尾,而 POSIX 标准则希望让它直接了当的,通过C字符串的使用实现其功能。除此之外,另有其他个别的工具程序不允许使用 . meta 字符或方括号表达式来进行换行字符匹配。

20170502匹配单个字符串

...如下:一、正则表达式的概念:1.使用单个字符串来描述匹配一系列符合某个句子语法规则的字符串2.是对字符串操作的一种逻辑公式3.应用来处理文本和数据4.表达过程:依次拿出表达式和文本中的字符比较,如果每一个字符都... 查看详情

匹配单个字符(代码片段)

...一小节中,了解到通过re模块能够完成使用正则表达式来匹配字符串本小节,将要讲解正则表达式的单字符匹配字符功能.匹配任意1个字符(除了)[]匹配[]中列举的字符d匹配数字,即0-9D匹配非数字,即不是数字s匹配空白,即空... 查看详情

索引第二篇:mysql索引加快查找速度的内部原理刨析(代码片段)

...索引2.3.3回表的解决2:索引下推三、复合索引和前缀匹配原则3.1复合索引3.2前缀匹配3.2.1底层原理:最左匹配3.2.2前缀索引(适用:二级索引+复合索引)3.2.2.1根据索引选择性来确定前缀索引应该取前面几 查看详情

正则表达式——02单个字符匹配

【前言】本节主要讲述匹配单个字符1. 匹配纯文本区分大小写匹配纯文本和搜索功能一致 2. 匹配任意字符——“.”.匹配除了换行符以外的任意字符 注意:【元字符】特殊符号和字符,即所谓的元字... 查看详情

使用交替或字符类进行单个字符匹配?

】使用交替或字符类进行单个字符匹配?【英文标题】:Usingalternationorcharacterclassforsinglecharactermatching?【发布时间】:2011-06-1102:36:47【问题描述】:(注意:标题似乎不清楚——如果有人能改写一下,我完全赞成!)给定这个正... 查看详情

jpql模糊匹配单个字符

JPQL模糊匹配,不是%,而是单个字符,该怎么办?比如我要查出数据库中满足后三位是数字的字符串对于mysql来说,使用通配符%和_可以轻松解决,但是对于JPQL来说模糊查询就伤脑筋了。。。有一个方法,可以使用like查询出来以... 查看详情

第二章:匹配单个字符

2.1匹配纯文本  文本:    hello,mynameisBen.Pleasevisitmywebsiteathttp://www.forta.com/.  正则表达式:    Ben  结果:    hello,mynameisBen.Pleasevisitmywebsiteathttp://www.forta.com/.再看一个例子:  文本:    hello,mynameisBen... 查看详情

javascript匹配未指定的单个字符(代码片段)

查看详情

如何使用正则表达式匹配所有数字字符和一些单个字符

】如何使用正则表达式匹配所有数字字符和一些单个字符【英文标题】:Howtomatchallnumericalcharactersandsomesinglecharactersusingregex【发布时间】:2014-01-2400:33:42【问题描述】:如何使用正则表达式匹配字符串中的所有数字以及特定字符... 查看详情

在数据集中拆分字符串 Apache Spark

】在数据集中拆分字符串ApacheSpark【英文标题】:SplittingstringindatasetApacheSpark【发布时间】:2016-04-2115:54:28【问题描述】:我是Spark的新手我有一个带有分类属性的txt数据集,如下所示:10000,5,0,1,0,0,5,3,2,2,1,0,1,0,4,3,0,2,0,0,1,0,0,0,0,10,... 查看详情

mysql——锁(代码片段)

...例4.2.5、DELETE...示例4.2.6、补充说明4.2.6.1、二级索引精准匹配加锁流程4.2.6.2、二级索引找不到记录4.2.6.3、左闭区间加锁4.2.6.4、自右向左扫描加锁4.3、半一致性读的语句4.4、INSERT语句4.4.1、重复键4.4.2、外键检查一、解决并发事务... 查看详情

mysql——锁(代码片段)

...例4.2.5、DELETE...示例4.2.6、补充说明4.2.6.1、二级索引精准匹配加锁流程4.2.6.2、二级索引找不到记录4.2.6.3、左闭区间加锁4.2.6.4、自右向左扫描加锁4.3、半一致性读的语句4.4、INSERT语句4.4.1、重复键4.4.2、外键检查一、解决并发事务... 查看详情

python正则表达式--匹配单个字符(代码片段)

re模块操作 在python中需要通过正则表达式对字符串进行匹配的时候,可以使用一个模块,名字为re,使用方法如下:#导入re模块importre#使用match方法进行匹配操作result=re.match(正则表达式,要匹配的字符串)#如果上一步匹配到数据的... 查看详情

python爬虫编程思想(30):用正则表达式匹配多个字符串和任意单个字符

目录1. 匹配多个字符串2. 匹配任何单个字符1. 匹配多个字符串        在前面的例子中,只是通过search方法搜索一个字符串,那么如果要搜索多个字符串呢?例如,搜索bike、car和truck。最简... 查看详情

基础正则表达式

*  匹配前一个字符任意次.  匹配除换行符外的任意单个字符^  匹配行首$  匹配行尾[]  匹配中括号内的任意单个字符,如[0-9a-zA-Z]匹配任意数字字母,[中华人民共和国]匹配“中化人民共和国”中的任意单个汉字[^]... 查看详情

re模块+面向对象

...语法:单个字符和多个字符  单个字符: d是匹配所有的数字D是匹配所有的非数字s是所有的换行符,制表符,空白等,回车符S是所有费换行符,空白和制表符等w字母数字下划线W所有非字母数字下划线.匹配所有单个... 查看详情

d21_1.1_正则表达式_单个字符匹配

#### re.findall 找到所有与正则表达式相匹配的字符串语法:lst=re.findall(正则表达式,字符串)#(1)预定义字符集#d匹配数字#D匹配非数字#w匹配字母或数字或下划线(正则函数中,支持中文的匹配)#W匹配非字母或数字或下划线#s匹配任... 查看详情

linux的基本命令格式如何?linux下经常使用的通配符都有哪些

...[:punct:],[:lower:],[:upper:],[:digit:],[:alnum:]等等。* 匹配任意长度的任意字符?匹配任意单个字符[]匹配制定范围内的单个字符[^]匹配制定范围外的单个字符[:space:]匹配单个空白字符[:punct:]匹配单个标点符号字符[:lower:]匹配单... 查看详情