如何匹配 Lua 中的可选模式?
How to match for optional pattern in Lua?
我正在尝试学习如何匹配 Lua 中的可选模式。
local text = '10+'
local start_index, end_index, value = string.find(text, "%d+(%+)")
print(start_index, end_index, value)
以此为例,我希望 +
是可选的,并且当 +
不存在于该字符串中时仍然 return 数字的索引。
我试过这个模式,但它会 returns 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)
我正在尝试学习如何匹配 Lua 中的可选模式。
local text = '10+'
local start_index, end_index, value = string.find(text, "%d+(%+)")
print(start_index, end_index, value)
以此为例,我希望 +
是可选的,并且当 +
不存在于该字符串中时仍然 return 数字的索引。
我试过这个模式,但它会 returns 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)