|
|
|
Кто на регулярных выражениях собаку съел? Подскажите...
|
|||
|---|---|---|---|
|
#18+
Надо выцепить из текста все случаи (подстроки) отвечающие следующим критериям: 1. Подстрока начинается со слова AAA 2. Подстрока заканчивается словом BBB 3. Подстрока не содержит слова ZZZ. Вот это вот "не содержит" никак не могу спрограмить Есть возможность проверять что не содержит какие-то символы: [^z], но нужно чтобы не было конкретного слова. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2007, 16:02 |
|
||
|
Кто на регулярных выражениях собаку съел? Подскажите...
|
|||
|---|---|---|---|
|
#18+
Python 2.5 (?!...) Matches if ... doesn't match next. This is a negative lookahead assertion. For example, Isaac (?!Asimov) will match 'Isaac ' only if it's not followed by 'Asimov'. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2007, 16:35 |
|
||
|
Кто на регулярных выражениях собаку съел? Подскажите...
|
|||
|---|---|---|---|
|
#18+
Смотря какой язык используеш... У нас например есть несколько вариантов для решения п.3 Код: plaintext 1. ---------- Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2007, 16:37 |
|
||
|
Кто на регулярных выражениях собаку съел? Подскажите...
|
|||
|---|---|---|---|
|
#18+
AutomaterНадо выцепить из текста все случаи (подстроки) отвечающие следующим критериям: 1. Подстрока начинается со слова AAA 2. Подстрока заканчивается словом BBB 3. Подстрока не содержит слова ZZZ. Вот это вот "не содержит" никак не могу спрограмить Есть возможность проверять что не содержит какие-то символы: [^z], но нужно чтобы не было конкретного слова. Ну, что-то типа так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2007, 17:22 |
|
||
|
Кто на регулярных выражениях собаку съел? Подскажите...
|
|||
|---|---|---|---|
|
#18+
пусть Automater скажет, на каком языке он пишет эти выражения, а то мы тут насоветуем... -- Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2007, 17:23 |
|
||
|
Кто на регулярных выражениях собаку съел? Подскажите...
|
|||
|---|---|---|---|
|
#18+
C#. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2007, 17:25 |
|
||
|
Кто на регулярных выражениях собаку съел? Подскажите...
|
|||
|---|---|---|---|
|
#18+
Green2пусть Automater скажет, на каком языке он пишет эти выражения, а то мы тут насоветуем...хреновый! С# - айтов в смысле регулярных... qu-quЗ.Ы. курить надо т.н. (?! ) Grouping construct...Да допёр я до этого... Но тут "начинается с -", частный случай. А если просто в строке не должно быть подстроки? Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2007, 17:30 |
|
||
|
Кто на регулярных выражениях собаку съел? Подскажите...
|
|||
|---|---|---|---|
|
#18+
AutomaterС# - айтов в смысле регулярных..."Ацтой" там слово. Кароче пока мучуюсь вот так: Expression-Based Patterns - example that matches words within a string and capitalizes them: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. Но это ж решение "через ж." И вообще, после нескольких полномасштабных серфов по этому вопросу у меня создалось впечатление что в C# нельзя проверить отсутствие последовательности символов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2007, 17:34 |
|
||
|
Кто на регулярных выражениях собаку съел? Подскажите...
|
|||
|---|---|---|---|
|
#18+
Automaterу меня создалось впечатление что в C# нельзя проверить отсутствие последовательности символов. Отрицания еще никто не отменял Т.е. ты проверяеш "наличие", потом добавляеш к этому условию отрицание и вуаля! Или у "насильников" такое не катит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2007, 08:59 |
|
||
|
Кто на регулярных выражениях собаку съел? Подскажите...
|
|||
|---|---|---|---|
|
#18+
qu-quНу, что-то типа так: Код: plaintext 1. 2. 3. наверное все таки имелось в виду: (?! \w* tr)\w*ty тестовый пример подобран неудачно и решение действительно частное, но не по той причине, что была озвучена. Решение первоначальной задачи: (\bAAA\b(?!(?!.*?\bBBB\b).*?\bZZZ\b).*?\bBBB\b) если имелись в виду не слова, а подстроки, \b убрать но я бы делал вот так: Код: plaintext 1. 2. 3. 4. и не лохматил бабушку ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2007, 09:14 |
|
||
|
Кто на регулярных выражениях собаку съел? Подскажите...
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan) qu-quНу, что-то типа так: Код: plaintext 1. 2. 3. наверное все таки имелось в виду: (?! \w* tr)\w*ty ... Да, вы правы, именно это и имелось ввиду, прошу прощения у топиккастера за некоторую небрежность в тестовом примере, однако ж, я честно в З.Ы. сказал, что "курить" надо именно Grouping construct, а не ждать от посетителей форума готовых решений... (у отвечающего, банально, может не хватать времени, чтобы проверять досконально основную идею ответа). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2007, 10:35 |
|
||
|
Кто на регулярных выражениях собаку съел? Подскажите...
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan) (\bAAA\b(?!(?!.*?\bBBB\b).*?\bZZZ\b).*?\bBBB\b) мда. поторопился это тоже не работает. Проблема в том, что при неуспешном сопоставлении поиск не останавливается, а продолжается дальше :( Вот это теоретически должно работать: Код: plaintext 1. Идея думаю понятна :) К сожалению, у меня оно валит Perl P.S. В моей самописной машинке регулярных выражений эта задачка решается элементарно, так как я добавил в квантификатор возможность задания стоп-выражения P.P.S. Замечание относительно лохматой бабушки остается в силе, такого рода задачи проще решаются вне стандартного регулярного выражения ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2007, 11:18 |
|
||
|
Кто на регулярных выражениях собаку съел? Подскажите...
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)К сожалению, у меня оно валит Perl нужен с# ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2007, 13:16 |
|
||
|
Кто на регулярных выражениях собаку съел? Подскажите...
|
|||
|---|---|---|---|
|
#18+
Automater Gluk (Kazan)К сожалению, у меня оно валит Perl нужен с# внимательно читай про бабушку, остальное игра ума эта задачка не для регекспов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2007, 13:20 |
|
||
|
Кто на регулярных выражениях собаку съел? Подскажите...
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan) Automater Gluk (Kazan)К сожалению, у меня оно валит Perl нужен с# внимательно читай про бабушку, остальное игра ума эта задачка не для регексповWho is missis Babushka? Я много серфил. Создалось впечатление что нету никаких отрицаний целых подстрок . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2007, 13:25 |
|
||
|
Кто на регулярных выражениях собаку съел? Подскажите...
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan) Код: plaintext 1. 2. 3. 4. и не лохматил бабушку ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2007, 13:42 |
|
||
|
Кто на регулярных выражениях собаку съел? Подскажите...
|
|||
|---|---|---|---|
|
#18+
AutomaterСоздалось впечатление что нету никаких отрицаний целых подстрок . У нас в Cache проверка по шаблону возвращает: 0 - ложь 1 - истина если подставить отрицание к выражению "содержит" - получим "не содержит" Хотя в этом не нужны регулярные выражения... У нас есть такая бинарная операция "содержит" Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2007, 14:50 |
|
||
|
Кто на регулярных выражениях собаку съел? Подскажите...
|
|||
|---|---|---|---|
|
#18+
krvsa AutomaterСоздалось впечатление что нету никаких отрицаний целых подстрок . У нас в Cache проверка по шаблону возвращает: 0 - ложь 1 - истина если подставить отрицание к выражению "содержит" - получим "не содержит" Хотя в этом не нужны регулярные выражения... У нас есть такая бинарная операция "содержит" Код: plaintext 1. 2. 3. 4. Я конечно понимаю, что у кашистов принято называть регулярными выражениями все что угодно кроме регулярных выражений, но автор явно сказал, что его интересует C# ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2007, 15:14 |
|
||
|
Кто на регулярных выражениях собаку съел? Подскажите...
|
|||
|---|---|---|---|
|
#18+
Про отрицание писал я, вот и отписался... ---------- Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2007, 15:40 |
|
||
|
Кто на регулярных выражениях собаку съел? Подскажите...
|
|||
|---|---|---|---|
|
#18+
AutomaterЯ много серфил. Создалось впечатление что нету никаких отрицаний целых подстрок .Вообще-то отрицания есть. Только с ними работать сложно :) Если на время отвлечешься от C# и почитаешь perlre, там есть глава под названием Backtracking. И там с примерами объясняется как работает движок регулярных выражений и почему AAA.*(?!ZZZ) работает не так как ожидалось. А вообще, отрицание можно сделать двумя способами. Через (?!word) или (word){0}. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2007, 18:22 |
|
||
|
Кто на регулярных выражениях собаку съел? Подскажите...
|
|||
|---|---|---|---|
|
#18+
если так? Не проверял. AAA(?:[^BZ]*(?!ZZZ)Z*)+BBB ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2007, 18:27 |
|
||
|
Кто на регулярных выражениях собаку съел? Подскажите...
|
|||
|---|---|---|---|
|
#18+
maXmoесли так? Не проверял. AAA(?:[^BZ]*(?!ZZZ)Z*)+BBB частное решение [^BZ] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2007, 08:20 |
|
||
|
Кто на регулярных выражениях собаку съел? Подскажите...
|
|||
|---|---|---|---|
|
#18+
White Owlили (word){0}. Гмм. всегда считал, что сие совпадет с пустой строкой, стало быть найдется в любой строке ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2007, 08:22 |
|
||
|
Кто на регулярных выражениях собаку съел? Подскажите...
|
|||
|---|---|---|---|
|
#18+
я делал так Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2007, 10:18 |
|
||
|
Кто на регулярных выражениях собаку съел? Подскажите...
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan) White Owlили (word){0}. Гмм. всегда считал, что сие совпадет с пустой строкой, стало быть найдется в любой строкеОшибался :) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2007, 18:25 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=34927963&tid=1345299]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
161ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 240ms |
| total: | 480ms |

| 0 / 0 |
