| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Проблема с регулярным выражением |
| Автор: mhalion 16.9.2007, 15:25 | ||
| Все вродебы просто, но мне необходимо получить все что удовлетворяет моей регулярке. И не использовать ExecNext, а потом смотреть в Match[0]. Возможно ли получить и 'Сходненская' (Match[0]) и 'Москва' (Match[1]) после первого вызова Exec?
|
| Автор: W4FhLF 16.9.2007, 15:53 |
| Тебе надо узнать есть ли такие слова в строке и посчитать сколько раз они там встречаются? Я что-то не совсем понял суть самой задачи, объясни поподробнее. |
| Автор: mhalion 16.9.2007, 15:56 |
| Вот такая регулярка sMask :='.*г.\x20*(.*)[,;\x20].*ул.\x20(.*)[,;\x20].*22.*'; И вот такая строка sAddress :='г. Москва, ул. Сходненская, 22'; Match[1] ='Москва,' Match[2] ='Сходненская,' Вопрос: Почему появляются запятые в конце? И как от них избавиться? Добавлено через 7 минут и 41 секунду Вроде бы проблему решил: '.*г\x20*.\x20*([А-Яа-я]*).*ул.\x20*([А-Яа-я]*).*22.*' Но всеравно до конца вот чего не понимаю. Что в процессе обработки строки по регулярке выбирается, как Match? |
| Автор: mhalion 16.9.2007, 16:14 |
| Как поставить пробел не используя \x20. Как будет выглядеть в таком слчае - \x20*? |
| Автор: mhalion 16.9.2007, 16:41 |
| Читал бы не спрашива;) Скинь на мыло мне док |
| Автор: W4FhLF 16.9.2007, 16:44 |
| аттач |