Lua 与 string.match 的行为很有趣
Lua behaves funny with string.match
这是一个非常简单的代码,但没有按预期工作:
function convert(str)
local _,name = string.match(str, [[<a href=(.*)>(%w+)</a>]])
return name
end
print(convert("<a href=\"/organization/1/\">A</a>"))
print(convert("<a href=\"/organization/2/\">B</a>"))
print(convert("<a href=\"/organization/3/\">C</a>"))
我预计:
A
B
C
得到:
A
nil
nil
谁能解释一下 Lua 在这种情况下是如何工作的?
好的,知道了...
我为 Whosebug 提供了示例值。实际值有空格。我将函数转换为
function convert(str)
local _,name = string.match(str, [[<a href=(.*)>(.*)</a>]])
return name
end
这是一个非常简单的代码,但没有按预期工作:
function convert(str)
local _,name = string.match(str, [[<a href=(.*)>(%w+)</a>]])
return name
end
print(convert("<a href=\"/organization/1/\">A</a>"))
print(convert("<a href=\"/organization/2/\">B</a>"))
print(convert("<a href=\"/organization/3/\">C</a>"))
我预计:
A
B
C
得到:
A
nil
nil
谁能解释一下 Lua 在这种情况下是如何工作的?
好的,知道了...
我为 Whosebug 提供了示例值。实际值有空格。我将函数转换为
function convert(str)
local _,name = string.match(str, [[<a href=(.*)>(.*)</a>]])
return name
end