美文网首页
Lua语法 模式

Lua语法 模式

作者: 白小白152 | 来源:发表于2020-01-07 19:14 被阅读0次

1:Lua语言中模式使用百分号作为转义符(类似于正则表达式)

%@:匹配所有的字母
%.:匹配一个点
%c:匹配控制字符
%d:匹配数字
%g:匹配除空格外的可打印字符
%l:匹配小写字母
%p:匹配标点符号
%s:匹配空白字符
%u:匹配大写字母
%w:匹配字母和数字
%x:匹配16进制数字

字符分类:模式中能够与一个特定集合中的任意字符相匹配的一项
“%d%d/%d%d/%d%d%d%d”来匹配dd/mm/yyyy格式的日期

2:可以使用字符集来创建自定义的字符分类,只需要在方括号内将单个字符和字符分类的组合起来即可,

[%w_]:匹配所有以下划线结尾的字母和数字
[01]:匹配二进制数字
[%[%]]:匹配方括号

3:在字符集前加一个补字符^就可以的带这个字符集对应的补集
模式[^0-7]代表所有八进制数字以外的字符
模式[^\n]代表除换行符以外的其他字符

修饰符:
+ 重复一次或多次
* 重复零次或多次
- 重复零次或多次(最小匹配)
?可选(出现零次或一次)

修饰符 + 匹配原始字符分类中的一个或多个字符,它总是获取与模式相匹配的最长序列,例如模式“%a+”代表一个或多个字母(单词)

local str = "one,and two;and three"
print("替换字符串后为:",string.gsub(str, "%a+","word"))
local str1 = "the number 1298 is even"
print("匹配后的字符串为:",string.match(str1,"%d+"))
输出结果为:
[LUA-print] 替换字符串后为:    word , word word;word word  5
[LUA-print] 匹配后的字符串为:   1298

修饰符 * 类似于修饰符 + ,但是它还接受对应字符分类出现零次的情况

修饰符 — 和修饰符*类似,也是用于匹配字符分类的零次或多次出现,不过跟修饰符 * 总是能匹配的最长序列不同,修饰符 - 只会匹配最短序列

相关文章

  • Lua学习之路

    打印hello world 复杂一点的语法 交互模式 终端模式下命令 lua变量和块 lua table 算数运算...

  • Lua语法 模式

    1:Lua语言中模式使用百分号作为转义符(类似于正则表达式) 字符分类:模式中能够与一个特定集合中的任意字符相匹配...

  • 【IOS开发高级系列】Lua与OC交互专题

    1 Lua语法 Lua教程 http://www.yiibai.com/lua/lua_environment.h...

  • Lua

    让Xcode 支持 Lua 语法高亮 1.让Xcode支援Lua语法高亮(Syntax Highlighting)...

  • Lua 完全教程

    Lua 环境安装 Lua 基本语法 Lua 数据类型 Lua 数据类型:nil(空) Lua 数据类型:boole...

  • Lua学习路线

    1、lua语法:菜鸟教程 http://www.runoob.com/lua/lua-basic-syntax.h...

  • Lua 快速笔记(二) syntax

    参考programing in lua 语法 函数 常用函数 语法 局部变量和代码块 控制语句 Lua 认为 fa...

  • [code.openresty] Openresty指令集-下

    log_by_lua 语法: log_by_lua 上下文: http,serv...

  • iOS hotfix lua语法

    hotfix lua语法 替换WSFRefundBaseCell WSFRefundCellContentView...

  • Lua语言笔记(为热更新做铺垫)

    [前言:很多基本的语法之类的在笔记中没有提及,需要在看之前了解一下lua基本语法] -- ======lua简单知...

网友评论

      本文标题:Lua语法 模式

      本文链接:https://www.haomeiwen.com/subject/ayjdactx.html