Lua对于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在这种情况下的工作原理?

点赞
用户1854789
用户1854789

我为示例值添加了 StackOverflow。实际值包含空格。我将该函数转换成:

function convert(str)
  local _, name = string.match(str, [[<a href=(.*)>(.*)</a>]])
  return name
end
2020-05-06 14:37:47