|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
14.09.2017, 13:43 | #1 |
Форумчанин
Регистрация: 12.11.2009
Сообщений: 258
|
Помогите с регулярными выражениями RegEx
Есть некоторый макрос работы с формулами.
Общий смысл в том что в екселе есть ряд строчек. Буквенное обозначение переменной (например D_1) и рядом ее значение. Потом набираются расчеты. Чтобы избежать лишних ошибок нужно из формулы D_1+D_2 получать выражение формулы вида =B91+B93 Все в принципе работает (при простых именах переменных). Используются регулярные вырежания RegExp.Pattern = "[a-zA-ZА-Яа-я_]+[0-9]*" отлавливает имена вида D_1, a_2, K и т.д. Как доработать этот шаблон чтобы отлавливались все выражения вот такого вида: G_(п.в) DELTAi_(с.в) alpha_(с.н)^(к.о) i'_н2 i'_(п.в) Q^3 Понимаю что ^ в общем случае оператор возведения в степень, но в расчетах у меня он почти не используется - а в обозначении переменных часто. |
14.09.2017, 15:00 | #2 |
Форумчанин
Регистрация: 12.11.2009
Сообщений: 258
|
https://regexr.com/
пробую такую маску [a-zA-ZА-Яа-я']+[_0-9a-zA-ZА-Яа-я().^]* тестовый стринг (G_(п.в)*(i'_3-i_3)-kpd_то*((D_1+D_2)*(i'_н2-i'_н3)))/((i_о3-i'_н3)*kpd_то) некорректно обрабатываются скобки т.е захватываются скобки отвечающие за математические действия Вот так почти работает [a-zA-ZА-Яа-я0-9.']+([_^]?(\()?[a-zA-ZА-Яа-я.0-9]*(\))?)* Но как согласовать чтобы закрывающая скобка (2 группа) искалась только когда есть открывающая (1 группа)? Последний раз редактировалось bdfy; 14.09.2017 в 15:19. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проблема с регулярными выражениями | UKRtortik | Общие вопросы Delphi | 19 | 18.03.2014 17:29 |
Помогите с регулярными выражениями | Yan | C# (си шарп) | 0 | 15.01.2014 22:57 |
Проблема с регулярными выражениями | heartborne123 | PHP | 2 | 15.09.2010 21:50 |
Работа с регулярными выражениями | Igoressicus | Помощь студентам | 0 | 08.06.2010 22:15 |
Помощь с регулярными выражениями | WebSQLNeeder | PHP | 8 | 09.07.2008 17:57 |