242 / 208 / 36
Регистрация: 19.02.2021
Сообщений: 1,431

Парсинг текста

28.06.2021, 13:31. Показов 4085. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
По служебной необходимости столкнулся с ситуацией парсинга текста. С Python я знаком шапочно, к сожалению, поэтому прошу помощи.
Задача такая: на вход подается строка, где могут присутствовать (а могут и нет) некие, скажем так, "функции" имеющие примерно такой вид "Имя_Функции(Параметры)". Мне нужно "вычленить" из этой строки эти функции, затем их посчитать и вставить обратно уже результат. Есть список имен этих "функций".
Я могу сделать это "в лоб" примитивными программными средствами - найти первое совпадение с именем, сохранить позицию, затем посимвольно считать "параметры" от открывающей скобки и до закрывающей, сохранить длину всей функции, затем вставить результат, но мне бы хотелось использовать средства Python, т.к., он (насколько я знаю) как раз силен в подобных задачах.
Возможно, это нужно делать регулярными выражениями, но если выражение в скобках я еще смогу обернуть в регулярки, то учесть Имя функции я уже не знаю как.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.06.2021, 13:31
Ответы с готовыми решениями:

Парсинг текста с сайта
Добрый вечер! Питон знаю посредственно, как и HTML в принципе, но в голове закралась идея сделать бота в телеге, который будет брать...

Парсинг текста
Здравствуйте, надо зделать 2 функции в python. 1) Из большого текста вырезать кусок по параметрам слева и права Пример: cutOne('Lorem...

Парсинг и замена текста в html (python3)
Приветствую Друзья, если не затруднит, подскажите решение для python3. Есть некий html файл, вполне себе стандартный, в нем среди...

22
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
29.06.2021, 14:41
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Constcat Посмотреть сообщение
Снова я к вам.
Вот, не получается разобрать подобные строки. Слаб в регулярках, к сожалению...
Данный класс (задач) регулярками не решается. Точка!
P. S. Ты либо пишешь лексер + парсер по своей грамматике (с помощью регулярок или без), либо страдаешь дальше.
P. P. S. Кури ANTLR4.

Добавлено через 2 минуты
Первая ссылка в гугле: https://stackoverflow.com/a/22492975.
0
Эксперт Python
5439 / 3860 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
29.06.2021, 14:55
Цитата Сообщение от Constcat Посмотреть сообщение
Вот, не получается разобрать подобные строки
А ты вообще попробовал то, что тебе показали?
Моя регулярка работает на всех твоих примерах.

Python
1
2
3
4
5
6
>>> text= """PROJECT_DURATION(>,50) - TASK_DURATION(=,70)
PROJECT_COST(<,1000) * 365
"Manager " + PRROJECT_NAME(=,Иванов)"""
>>> re.findall(r"(?i)(\w+?)\((.*?)\)", text)
[('PROJECT_DURATION', '>,50'), ('TASK_DURATION', '=,70'), ('PROJECT_COST', '<,1000'), ('PRROJECT_NAME', '=,Иванов')]
>>>
1
242 / 208 / 36
Регистрация: 19.02.2021
Сообщений: 1,431
29.06.2021, 15:51  [ТС]
Цитата Сообщение от Garry Galler Посмотреть сообщение
А ты вообще попробовал то, что тебе показали?
Моя регулярка работает на всех твоих примерах.
Упустил, каюсь... Сейчас попробую.

Добавлено через 49 минут
Garry Galler, Еще раз большое спасибо! Ваша регулярка + цикл с заменой из примера Fudthhh полностью решила задачу!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.06.2021, 15:51

Парсинг текста на сайте с защитой от копирования
Уважаемые форумчане, прошу помощи: есть сайт с текстом книги, но он защищен от копирования. Помогите спарсить весь текст книги в файлик. ...

Парсинг по порядку или парсинг до определенного тега
Доброго времени друзья! Подскажите пожалуйста, к примеру есть вот такой html код: &lt;div class=&quot;container mt-3&quot;&gt; ...

Парсинг текста
Здравствуйте, у меня есть строка char* с огромным количеством текста(в мб) как ее можно про парсить? Можно пример, с любым много строчным...

парсинг текста
Ну в общем,хочу спарсить с сайта текста находящийся между тегами,но компилятор ругается. a=(List-&gt;Text.Pos(&quot;&lt;a...

Парсинг текста
Парсит один раз, хотя значений как минимум 15. Как правильно сделать цикл? Помогите пожалуйста. var parser, log:string; begin ...


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

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

Новые блоги и статьи
Лето уходит
kumehtar 17.08.2026
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины". За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html Задача: . . .
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru