Форум программистов, компьютерный форум, киберфорум
Наши страницы
Lua
Войти
Регистрация
Восстановить пароль
 
drunkwolfs
9 / 9 / 6
Регистрация: 24.05.2013
Сообщений: 349
1

Регулярное выражение для парсинга строки с параметрами

29.06.2015, 07:47. Просмотров 496. Ответов 4
Метки нет (Все метки)

Никак не получается написать регулярное выражение которое разделяло бы например такую строку:
Код
/test arg1 arg2=1 arg3=hello arg4="hello world" arg5 arg6="hello \"test\" world"
на вот такие части:
Код
/test
arg1
arg2=1
arg3=hello
arg4="hello world"
arg5
arg6="hello \"test\" world"
Добавлено через 2 часа 27 минут
Нужно захватить параметры.
по очереди. Буду брать по одному параметру, вносить в массив, а потом удалять его из строки.
Код
_, _, a = string.find(str, "(%S*)")
сработает со строкой
Код
/test arg1 arg2=1 arg3=hello
Но строку
Код
arg4="hello world"
захватывает неправильно.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.06.2015, 07:47
Ответы с готовыми решениями:

Регулярное выражение для парсинга строки со множеством переносов
Добрый день. подскажите как написать выражение. <div class="address"> ...

Regexp - составить регулярное выражение для парсинга строки
Здравствуйте. Есть такая строка {number=43, numbertext=1, text=*здесь полный...

Регулярное выражение для парсинга даты
Подскажите регулярку для парсинга даты в таком формате: 6 апреля 1985 все числа...

Регулярное выражение для парсинга HTML
Есть текст: Код: <li><a...

Регулярное выражение для парсинга HTML-страницы
<a href="javascript:" ...

4
Eva Rosalene
T for Trans-
4050 / 1589 / 303
Регистрация: 06.01.2013
Сообщений: 4,182
Завершенные тесты: 2
03.07.2015, 18:59 2
На синтаксисе регулярок JS это будет как-то так, синтаксис luaшных, к сожалению, давно забыл.
Javascript
1
/(?:"(?:\\"|.)*?"|\S)*/g
0
aedeph
92 / 18 / 5
Регистрация: 06.06.2015
Сообщений: 99
03.07.2015, 19:02 3
Возьми реализацию getopt'а для нужного языка и не пиши дурацкие велосипеды на неподходящих инструментах.
1
Eva Rosalene
T for Trans-
4050 / 1589 / 303
Регистрация: 06.01.2013
Сообщений: 4,182
Завершенные тесты: 2
03.07.2015, 19:08 4
aedeph, я даже больше скажу, в stdlib lua есть собственный адекватный GetOpt.
http://files.luaforge.net/releases/stdlib/stdlib/release22
0
drunkwolfs
9 / 9 / 6
Регистрация: 24.05.2013
Сообщений: 349
06.07.2015, 15:42  [ТС] 5
getopt подойдет если параметры приходят от сервера?
Пишу бота, он должен обрабатывать команды которые ему пишут в ЛС.
Getopt может принимать параметры в таком виде в котором я описал в начале?
Все еще нужна lua регулярка для захвата. Вопрос не решен.

Добавлено через 4 минуты
в getopt разделитель пробел.
то есть "параметр значение"
а если у моего параметра нет значения то все нахер поедет. например если сделаю так "параметр параметр значение".
0
06.07.2015, 15:42
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.07.2015, 15:42

Составить регулярное выражение для парсинга HTML
Помогите составить регулярное выражение. Нужно вытащить имя проекта из данного...

Регулярное выражение для парсинга логина/пароля
подскажите регулярное вырожение для парсинга Login@mail.ru:password

Составить регулярное выражение для парсинга email
есть текст <label class="mr" for="id-AutoUsername-uyakovaleva@bk.ru"><input...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru