Lua забавно ведет себя со строкой.match - PullRequest
1 голос
/ 06 мая 2020

Вот очень простой код, который не работал должным образом:

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 работает в этом случае?

1 Ответ

0 голосов
/ 06 мая 2020

Хорошо, понял ...

Я поместил образцы значений для StackOverflow. У реальных ценностей были пробелы. Я преобразовал функцию в

function convert(str)
  local _,name = string.match(str, [[<a href=(.*)>(.*)</a>]])
  return name
end
...