Короткий ответ: цифра перед знаками препинания не является обязательной в вашем шаблоне.Просто добавьте *
, чтобы соответствовать какому-либо количеству цифр, но также и без цифр.Другой вариант - использовать ?
, если вы хотите сопоставить только одну цифру или не указывать ее, но без каких-либо дополнительных цифр до этого.
paytternToMatch = "(%w%w%w[%w%d][%w%d]%-.-%d*%p%d%d\n)\n[\n]*"
-- ^ here
Обратите внимание, что есть несколько других улучшений, которые вы можете захотетьрассмотреть в дополнение к этому.Например, эта цифра будет полностью игнорироваться, поскольку предыдущая .-
будет включать ее, изменяет пунктуацию, чтобы разрешить только .
, и немного изменяет требование перевода строки:
paytternToMatch = "(%w%w%w[%w%d][%w%d]%-.-%.%d%d\n)\n+"
См. Программирование на Lua для более подробной информации о шаблонах.