Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Регулярные выражения [D7, WinXP]


Fantasy ©   (2010-05-18 18:11:00) 

Почему выражение
[^=].+[^;]
с источьника
=1;
не выносит ответ
1

????????


Медвежонок Пятачок   (2010-05-18 18:55:00) [1]

ты сказал:

любой набор символов букв и цифр

равно, двоеточие и прочее это не цифра и не буква. Медвежонок Пятачок © вот от гугла

=(.+);

но иногда будет срабатывать неверно из за  жадности и .+ захватывая лишнее в случае нескольких что-то=чемуто; подряд Fantasy Вот сижу голову ломаю
Все равно спасибо Медвежонок ПятачокПИВО С МЕНЯ :o) Fantasy Все нашел.

re.expression := '(.+?)\=(.+)\;'
if re.execute then
ShowMessage(re.Match[1])
ShowMessage(re.Match[2])


Благодарю всех за участие.


Fantasy   (2010-05-18 18:52:00) [2]

более подробно
это cookie
вот от гугла PREF=ID=15ee646b63c33e6c:TM=1274194258:LM=1274194258:S=H8dkcxU5Dczxj175;
PREF
ID=15ee646b63c33e6c:TM=1274194258:LM=1274194258:S=H8dkcxU5Dczxj175;

вот от чата
phpbb3_4ijme_u=1;
phpbb3_4ijme_u
1


Fantasy   (2010-05-18 18:49:00) [3]

Медвежонок Пятачок
любой набор символов букв и цифр


Медвежонок Пятачок   (2010-05-18 18:49:00) [4]

[9] - чем не подходит?


Медвежонок Пятачок   (2010-05-18 18:49:00) [5]

любой набор символов букв и цифр

\w вместо \d


Fantasy   (2010-05-18 18:46:00) [6]

Как вытащить все что между = ;с условием если они есть >
помогите


Медвежонок Пятачок   (2010-05-18 18:42:00) [7]

re.expression := '=\s*(\d+)\s*;'
if re.execute then
ShowMessage(re.Match[1])


Fantasy   (2010-05-18 18:38:00) [8]

Медвежонок Пятачок ©  
я понял
спасибо


Медвежонок Пятачок   (2010-05-18 18:36:00) [9]

ноль
даже с переменой
=11;

потому что твое выражение ждет как минимум три символа.
причем первый не должен быть равен "="
а последний не должен быть равен ";"


Медвежонок Пятачок   (2010-05-18 18:34:00) [10]

мне по барабану твой тестер.
я тебе сказал что означает твое регулярное выражение.


Fantasy   (2010-05-18 18:32:00) [11]

Что не так?
И как правильно?


Fantasy   (2010-05-18 18:31:00) [12]

вот тестер   http://realcode.ru/regexptester/

выражение
[^=].+[^;]
с переменной
=111;вынесет 111
а вот с переменной
=1;ноль
даже с переменой
=11;

мне нужно вынести все что поле знака =до знака ;
как поменять ?


Медвежонок Пятачок   (2010-05-18 18:20:00) [13]

[^=].+[^;]

Такое выражение вернет True для строки в которой есть последовательность:

один символ, не равный '=', затем любые символы в количестве не меньшем один, за ними один символ не равный ';'

а твой "источьник" не бъет с этим выражением


Медвежонок Пятачок   (2010-05-18 18:16:00) [14]

не выносит ответ
1


Оно должно "выносить" ответ ДА/НЕТ


Медвежонок Пятачок   (2010-05-18 18:14:00) [15]

Потому что домик в скобках означает не то что означает тот же  домик без скобок


Наверх

Титульная страница Поиск, карта сайта Написать письмо