我正在努力学习如何在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)