Форум программистов, компьютерный форум, киберфорум
Delphi
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
4 / 0 / 0
Регистрация: 12.11.2012
Сообщений: 31

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

19.12.2012, 11:12. Показов 1443. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет! У меня огромный код, который я хочу раскодировать регулярными выражениями. Подскажите как мне его разбить на части, иначе описание его становится кошмарно-большим. Например, r.Expression := '(\d{4})Z\s(\d{3}|VRB)(\d{2})+((\w)(\d{2 }))*MPS\s((\w{5})|(\d{4}))\s';-это первая часть кода, а продолжение я хочу описать как 2-ую часть
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.12.2012, 11:12
Ответы с готовыми решениями:

Проблема с "регулярными выражениями"
Привет всем, возник вопрос, как организовать регулярное выражение такого типа: <span style="font-weight: bold">Любой...

Парсинг регулярными выражениями
Здравствуйте, суть вопроса такова: Есть ответ от сервера в виде ...

Парсинг HTML регулярными выражениями
<span class="classname"> $33.33 MGP </span> Нужно спарсить все значеня между тегом <span> с данным классом с DOM + WebBrowser...

8
 Аватар для Alex_pac
1302 / 708 / 107
Регистрация: 25.05.2011
Сообщений: 2,158
Записей в блоге: 51
19.12.2012, 21:41
У меня огромный код
код в студию!
0
4 / 0 / 0
Регистрация: 12.11.2012
Сообщений: 31
20.12.2012, 06:35  [ТС]
Получилось при помощи delete ... Подскажи по выражению (TS|SH|FZ)* , например есть SH он и выдаст SH , а если TSFZ или SHFZ, то выдаёт только FZ. Как сделать, чтобы выдавалось TSFZ или SHFZ.
0
 Аватар для Alex_pac
1302 / 708 / 107
Регистрация: 25.05.2011
Сообщений: 2,158
Записей в блоге: 51
20.12.2012, 07:06
Цитата Сообщение от uaol_kolia Посмотреть сообщение
Получилось при помощи delete ... Подскажи по выражению (TS|SH|FZ)* , например есть SH он и выдаст SH , а если TSFZ или SHFZ, то выдаёт только FZ. Как сделать, чтобы выдавалось TSFZ или SHFZ.
([TSHZF]{2,4})
0
4 / 0 / 0
Регистрация: 12.11.2012
Сообщений: 31
20.12.2012, 09:46  [ТС]
неее... мне немного другое надо... вот часть выражения

\s(TS|SH|FZ|BL|DR|MI|BC|PR|RA|DZ|SN|SG|G R|GS|PE|IC|UP|BR|FG|FU|VA|DU|SA|HZ|PY|PO |SQ|FC|SS|DS)*?\s

может вообще не быть, а может несколько раз... может состоять из 1-ой пары, а может из нескольких пар , например, SHRASN(прибел)BR. Вот и ломаю голову, что-то не выходит

Добавлено через 1 час 55 минут
получил следующее
^(-|\+|VC)?((TS|SH|FZ|BL|DR|MI|BC|PR|RA|DZ| SN|SG|GR|GS|PE|IC|UP|BR|FG|FU|VA|DU|SA|H Z|PY|PO|SQ|FC|SS|DS){1,6})*?\s
теперь выдаёт без проблем, но как получить через пробел если выражение встретится несколько раз, щас 2-ой раз вообще не воспринимается ((
0
 Аватар для Alex_pac
1302 / 708 / 107
Регистрация: 25.05.2011
Сообщений: 2,158
Записей в блоге: 51
20.12.2012, 20:23
если нихрена не известно что там лежит, тогда просто ([A-Z]+)
теперь выдаёт без проблем, но как получить через пробел если выражение встретится несколько раз, щас 2-ой раз вообще не воспринимается ((
2 раз повторюсь

код который парсится в студию! А лучше несколько.
0
4 / 0 / 0
Регистрация: 12.11.2012
Сообщений: 31
21.12.2012, 06:45  [ТС]
есть метеорологические коды Metar и Taf. сейчас пишу прогу для расскодировки метара. пример вот :

METAR UAII 210200Z 14004MPS 3000 BR NSC M14/M18 Q1026 28850255 NOSIG RMK QFE732/0976

Раскодировка

Факт. погода Шымкент 210200Z ветер 140 - 04 м/с вид. 3000 м дымка нет существенной облачности темп-ра -14 точка росы -18 Pмин 1026 гПа cостояние ВПП 28 прикатанный снег 50% 2 мм коэф-т сцепления 055 Ро 732/0976

или

METAR ULLI 210200Z 10005MPS 8000 -SHRASN BR SCT046 OVC066 M15/M17 Q1035 60451045 10////// NOSIG

Раскодировка

Факт. погода Санкт слаб. Петербург (Пулково) 210200Z ветер 100 - 05 м/с вид. 8000 слабый ливневый дождь со снегом дымка разбросанная 1380 м обл. сплошная 1980 м темп-ра -15 точка росы -17 Pмин 1035 гПа cостояние ВПП 10П сухой снег 50% 10 мм коэф-т сцепления 045 10//////

на данный момент работаю с явлениями на последнем примере это -SHRASN BR = слабый ливневый дождь со снегом дымка

-SHRASN эту часть прога раскодирует, а BR не видит из-за пробела, но может быть и третье явление....
0
 Аватар для Alex_pac
1302 / 708 / 107
Регистрация: 25.05.2011
Сообщений: 2,158
Записей в блоге: 51
21.12.2012, 07:29
http://ru.wikipedia.org/wiki/METAR

согласно википедии
В коде METAR соблюдается строгий порядок следования информации:
из чего следует что можно просто разбить строку через пробелы и проводить анализ кажого элемента последовательности кода согласно его стандарту
0
4 / 0 / 0
Регистрация: 12.11.2012
Сообщений: 31
21.12.2012, 13:59  [ТС]
эт правильно...

Добавлено через 8 минут
но не всё так просто... вот как описать что заданной группы может быть несколько?

Добавлено через 5 часов 44 минуты
кол-во ( ) в рег выраж ограничено?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.12.2012, 13:59
Помогаю со студенческими работами здесь

Нужен модуль для работы с регулярными выражениями.
Народ у кого есть такой модуль (а может быть компонент) выложите пожалуйста.

Область описываемые логическими выражениями
для заданной области составить программу которая печатала true если точно с координатами (х,у) принадлежит заданной области, и false - в...

Области, описываемые логическим выражениями
привет всем,помогите разобраться с кодом почему не все значения которые вожу правильно, пишет false, var Form1: TForm1; ...

Описать область логическими выражениями

Парсинг регулярными выражениями
Добрый день! Помогите составить регулярное выражение, для "вытаскивания" тем писем с одного из почтовых серверов. Тема письма лежит...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru