前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Lua string.gsub (1)

Lua string.gsub (1)

作者头像
随心助手
发布2021-01-06 11:52:15
9400
发布2021-01-06 11:52:15
举报
文章被收录于专栏:nginx遇上redis

Lua中的模式匹配用正则表达式来描述,它被用于string.find, string.gmatch,string.gsub, 和string.match.匹配一种模式。

字母,代表[a-zA-Z]

字符,对所有符号的统称

字母数字表,字母和数字的统称

空白(空格)字符:例如(‘ ’,'\t’)

字符集:一个字符集用于代表一些字符的集合。下面的字符组合可以描述一个字符集。

X:(X不能是特殊字符 ^$()%.[]*+-?中的一个)代表X字母;

.:(一个点)代表所有的字符;

%a:代表所有的字母;

%c:代表所有的控制字符;(自己百度控制字符)

%d:代表所有数字;

%g:代表除了空格字符的所有可以打印的字符;

%l:代表所有的小写字符;

%p:代表所有的标点符号;

%s:代表所有的空白字符;

%u:代表所有的大写字母;

%w:代表所有字母表中的字符;

%x:代表所有的十六进制数字;

%x:(x不是字母数字表中的字符)代表x字符本身。通常用于转义显示特殊字符。任何非字母数字表中的特殊字符都可以用一个百分号后面跟这个字符来进行模式匹配。

[Set]:表示用Set中的所有字符代表的一个字符集合。字符区间可以用“-”,以升序的方式,分隔它的最后的几个字母来表示。上面讲述的用%x字符组合匹配代表的字符集合还可以用于其它字符集的元素。

比如,[%w_](或者)[_%w]代表所有的字母数字表中的字符和下划线组成的集合,[0-7]代表八进制,[0-7%l%-]代表八进制数字、小写字母以及‘-’字符组成的集合。

你可以在一个字符集中的开头位置放置一个].你也可以在一个字符集的开头或者结束放置一个连字符。(你也可以在两种情况中加入转义字符)

字符区间和字符集合有交叉的情况下,你写的模式匹配是错误的。因此,模式[%a-z]或者[a-%%]都是无效的模式。

[^Set]:代表上述模式所代表集合的补集。

用单个字母代表的集合(%a,%c,等),字母对应的大写字母代表集合的补集。例如,%S表示所有非空白字符。

字母,空格,和其他字符组合根据地域不同定义不同。举个实例,集合[a-z]也可能与%l代表的集合不一样。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-01-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 nginx遇上redis 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档