Пара проблем с сопоставлением с образцом в Lua
-
24-09-2019 - |
Вопрос
Я работал над прогнозистом погоды для программы, которую использую, и она в основном работает хорошо. Вот что у меня есть на данный момент. (Не обращайте внимания на zs.stuff. Это зависит от программы и не имеет отношения к кодированию Lua.)
родовое слово Моя основная проблема заключается в следующем: я изменил «условие» и добавил переменные «изображение» к тому, чем они являются сейчас. Несмотря на то, что строка, которой он должен соответствовать, идет прямо с веб-страницы, она вообще не соответствует. Так что мне интересно, что мне не хватает, что мешает работе этого кода. Если я достану
<td class="vaM taC">
он будет соответствовать состоянию безупречно. (По какой-то причине я не могу правильно отобразить указанную выше строку, но между `<и img нет пробела)
Кто-нибудь может указать, что с ним не так? Помимо сопоставления с шаблоном, уверяю вас, строка дословно с веб-страницы.
Еще один вопрос, который у меня возник, - это возможность сопоставления разрывов строк. Есть ли способ сделать это? Причина, по которой я спрашиваю, состоит в том, что на той же странице некоторые вещи, которые мне нужно сопоставить, разбиты на отдельные строки, и поскольку фактический шаблон, который я хочу сопоставить, отображается в других местах на странице, мне нужно чтобы иметь возможность сопоставить разрывы строк, чтобы получить точный шаблон.
Решение
Вы можете значительно упростить матч (см. ниже), но в целом похоже, что у вас есть две проблемы ...
- Отсутствие () вокруг совпадения, которое вы хотите захватить.
- Вам нужно избежать.символов в вашем матче, сделав их%.
Я попробовал это, и это сработало ...
родовое словоэто напечатано ...
родовое словоЧто касается многострочного, это не должно быть проблемой, новые строки - это просто управляющие символы, и если вы читаете несколько строк в одной строке, это совпадение работает.