| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Для новичков > Regular Expressions |
| Автор: Christoph 26.10.2008, 17:24 | ||
Вопрос по регуляркам, читал статью на винграде по Regular Expressions, написано
Обязательно ли должно Regular Expressions, содержать вот это все? например -?\d+ . Где понять где какая часть и что там? |
| Автор: Christoph 26.10.2008, 21:25 |
| -?\d+ Это регулярное выражение. не понимаю как оно сформировалась :( и что там означает каждая часть, там минус там плюс...хоть убейте не понимаю |
| Автор: kemiisto 26.10.2008, 22:31 | ||
В регулярном выражении
|
| Автор: Christoph 26.10.2008, 23:20 |
| Немного понял, спасибо тебе kemiisto, тему не закрываю, буду сидеть еще разбирать, по мере накопления вопросов буду писать |
| Автор: Christoph 27.10.2008, 15:32 | ||||
Вот не понял еще чего, порядок записи Regular Expression. тот же пример
идем символ потом, квантификатор,символьный класс, и опять квантификатор, можно ли бы написать так?
|
| Автор: kemiisto 27.10.2008, 16:21 | ||||
Christoph, порядок тут очень важен. Квантификаторы существует не сами по себе, они следуют за символом (символьным классом и т.п.) и
Сначала идёт символ '-', который может повторяться 0 или 1 раз, затем - любая цифра, которая может повторяться 1 или более раз. Вот. |
| Автор: APXEOLOG 27.10.2008, 16:51 |
| А вот если мне надо сделать регулярку для url(*.png), как мне записать это? Я пишу url\(+\.png\) это будет верным? |
| Автор: Christoph 27.10.2008, 18:35 | ||
я не знаю...но попробую предположить что так
|
| Автор: Christoph 27.10.2008, 19:06 |
| Я все таки не могу вкурить как составить регулируемое выражение? можете кинуть пару заданий хочу потренироваться |
| Автор: Matematik 27.10.2008, 19:37 |
| Возьми программку http://regexpstudio.com/RegExpStudio.html (http://narod.ru/disk/3433914000/TestRExp.7z.html) Все очень наглядно. Тестируй на простых примерах http://forum.vingrad.ru/articles/topic-213075.html http://ipicture.ru/ тут учебник с примерами на англ. яз. http://www.regular-expressions.info/ (см. Examples и Tutorial) http://www.regular-expressions.info/regexbuddy.html - еще хорошая программа для работы с регулярками со множеством примеров и возможностей, платная. |
| Автор: Christoph 4.11.2008, 23:53 |
| Все равно не могу понять по какому принципу построить рег. выражение, ну как .....например нужна получить строчку между точками, как это записать? |
| Автор: kemiisto 5.11.2008, 00:43 | ||||
или так
Первый вариант находит максимально длинную строчку, заключённую между двумя точками, второй - первое же вхождение. Различие в жадном и нежадном квантификаторах (+ и +?). Понятно? Тут, вроде, всё просто. Разберём первое выражение: \..+\. \. - символ точки. Почему с \? Потому что просто . означает любой символ. В таком случае используем приём, который называется защита метасимвола (аналог escape-последовательностей, например, \t - табуляция). + - квантификатор. P.S. Надо, кстати, добавить про защиту метасимволов в статью... |
| Автор: Christoph 5.11.2008, 23:16 | ||
| Кемисто ты меня убей я нифига не понял Добавлено через 6 минут и 38 секунд А так нельзя?
просто понять не могу в каком порядке это все ставить |
| Автор: Christoph 6.11.2008, 16:49 |
| Порядок записи рег выражения есть или нет? а то я вижу записывают как хотят... |
| Автор: Poseidon 9.11.2008, 03:07 | ||
http://regexpstudio.com/RU/TRegExpr/Help/RegExp_Syntax.html |