Мне любопытно, почему это не работает, и мне нужно знать, почему / как обойти это; Я пытаюсь определить, является ли какой-то ввод вопросом, я уверен, что мне нужен string.match, но:
print(string.match("how much wood?", "(how|who|what|where|why|when).*\\?"))
возвращает ноль. Я почти уверен, что Lua string.match использует регулярные выражения для поиска совпадений в строке, так как раньше я успешно использовал символы подстановки (.), Но, может быть, я не понимаю всю механику? Требует ли Lua специальных разделителей в своих строковых функциях? Я протестировал мое регулярное выражение здесь , поэтому, если Lua использует регулярные регулярные выражения, похоже, что приведенный выше код вернет "how much wood?"
.
Кто-нибудь из вас может сказать мне, что я делаю неправильно, что я собираюсь сделать, или указать мне хороший справочник, где я могу получить исчерпывающую информацию о том, как функции манипуляции со строками Lua используют регулярные выражения?