从零开始学aardio笔记:模式匹配
条评论前言
开始尝试着解决一些实际问题,在学的过程中,有些知识点和以前理解的不一样,或者以前理解的正则规则就错了。刚好要用到提取网页数据,把aardio的模式匹配入门过了一遍。
要在实践中去掌握知识。
知识是从来不能脱离实践的,例如贪婪匹配,逻辑匹配,你为什么不用学?你碰到了实际的需要,你会想:要是这里能……多好啊? 你一查,还真有呢,你马上就懂了,几乎就是闪电的时间你就明白了,这就是实践中碰撞出来的知识火花。
– 《模式匹配快速入门》
修饰符
.
:任意字符/字节( 与正则表达式相同 ):
:任意双字节( 中文字符,正则表达式无此语法 )*,+
:星号表示出现0到任意次,加号则表示出现1次到任意次^,&
:字符串开始和结束[]
:匹配指定字符中的某个()
:圆括号设定模式匹配返回的结果,每增加一对圆括号,匹配函数就多一个返回值 「新知识√」<>
:字符串匹配,匹配尖括号中的整串字符{}
:大括号指定模式重复匹配的次数%
:对称匹配
其他预定义字符
\n
:换行符\r
回车符\w
字母和数字\s
空白符\d
数字\f
换页符\x0c
\v
匹配一个垂直制表符。等价于\x0b
\t
制表符
以上部分与正则表达式兼容,以下是 aardio 模式匹配特有:
\a
字母\c
控制字符\i
是否ASCII字符( 字节码< 0x80
)\l
小写字母\p
标点字符\u
大写字母\x
十六进制数字(正则表达式里用于16进制字符前缀,即\xhh
)\z
表示\0
大写表示反义( 与正则表达式相同 ),例如\D表示不是数字的字符。
修饰符示例
指定一个模式应当怎样去匹配。修饰符有很多种,而最常用的就是用来指定匹配次数。
p{2,3}
表示 a
出现 2
到 3
次
1 | io.open() |
p+
表示 a
出现 1
次到任意次数,等价于 p{1,}
1 | io.open() |
p*
表示 a
出现 0
次到任意次数,等价于 p{0,}
1 | io.open() |
匹配身份证的例子
匹配身份证示例及更完整的教程,请参考aardio官方教程: 模式匹配快速入门
本文标题:从零开始学aardio笔记:模式匹配
文章作者:凹凸曼
发布时间:2020-12-07
最后更新:2020-12-07
原始链接:https://sobaigu.com/aardio-notes-03.html
版权声明:转载请务必保留本文链接和注明内容来源,并自负版权等法律责任。