lua - 如何匹配 Lua 中的可选模式?
问题描述
我正在尝试学习如何匹配 Lua 中的可选模式。
local text = '10+'
local start_index, end_index, value = string.find(text, "%d+(%+)")
print(start_index, end_index, value)
以此为例,我希望+
是可选的,并且+
在该字符串中不存在时仍返回数字的索引。
我尝试了这种模式,但它会返回nil, nil, nil
local text = '10+'
local start_index, end_index, value = string.find(text, "%d+(%+)?")
print(start_index, end_index, value)
在这种情况下,我怎样才能+
正确地选择可选?
解决方案
您需要将其移动?
到捕获中!
local text = '10+'
local start_index, end_index, value = string.find(text, "%d+(%+?)")
print(start_index, end_index, value)
推荐阅读
- discord.js - 如何按名称查找角色并向其添加用户(discord.js)
- java - 对于任何域,Java SSL 握手总是得到“PKIX 路径构建失败”
- php - 如何使用php将数组的值设置为输入字段
- hangfire - 从 Hangfire 调度程序调用或安排 rest api
- reactjs - 警告:失败的道具类型:道具`term`在`ParentComponent`中被标记为必需,但它的值是`undefined`
- java - ThreadDump:如何查看等待/或任何其他条件的条件?
- ngrx - 如何迁移过时的、持久的 NgRx 状态
- vba - 访问报告年份应在每年 4 月之后更改
- web-applications - 应用程序 '' 未配置为多租户应用程序
- git - 如何使用 Husky 预提交挂钩访问提交消息?