如何在Lua中匹配可选模式

  • 本文关键字:模式 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)

最新更新