• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Вопрос по рег. выражениям

  • Автор темы typak
  • Дата начала
Статус
Закрыто для дальнейших ответов.
T

typak

Вообщем надо написать рег выражение такое шоб оно искало текст который находится вне тегов \[code\] код\[/code\]

Есть выражение которое ищет текст заключонный между тегами \[code\] обрабатываемый текст\[/code\]
вот оно $pattern = "#\[code\](.+)\[\/code\]#isU";

Немогу никак сообразить как написать выражение для поиска текстя вне тегов \[code\]текст не обрабатывается \[/code\]

Вот примерно такие выражения могут быть

обр. текст \[code\]текст не обрабатывается \[/code\]обр. текст\[code\]текст не обрабатывается \[/code\]

Еще вопросик по книгам сегодня был на книжной балке и прикупил книгу:
"Регулярные выражения" Джеффри Фридл 3-здание 2008
Продавец мужик знакомый хвалил типа книга бомба. Кто читал норм книга или нет.
Дорогож стоит 30 доларов отдал. Короче на ней совы нарисованы. Была там еще одна книга там, там помоему крыса нарисованная здаровая такая, но то типа говорит практические примеры, а с совами типа учебник лутше учебник брать говорит тема типа сложная, да я и сам такого мнения чо лутше с учебника начинат. Ладно вообщем. Отзывы о книге кто читал можна писать сюда и стоит ли их Р.В. вообще учить?
 
V

vital

^ - этот символ - это отрицание. т.е. все крмое паттерна. Сам сообразишь куда всунуть?)
Книга.. А зачем? С регулярками все просто - там же в рамках одной статьи все вмещается. Лучше как раз прочитать теорию, из статьи и дальше наоборот практика. А книга
расширенное и углубленное описание пакета java.util.regex компании Sun, при этом особое внимание уделено различиям между Java 1.4.2 и Java 1.5/1.6
Нахрена оно тебе?
А ваще хорошая, да.
 
T

typak

^ - этот символ - это отрицание. т.е. все крмое паттерна. Сам сообразишь куда всунуть?)
Да конечно знаю шо отрецание тока нетак все просто:

1.$pattern = "#\[^[code\](.+)\[\/code\]]#isU"; отак пробовал выдает ошибку я тока без экрана пробовал понятно что ошибка была тока дошло
2.$pattern = "#\[^code\](.+)\[^\/code\]#isU"; отак даже непробовал потому шо понятно шо нето, что нужно будет искать
3.$pattern = "#\[^(code)(.+)\(\/code\)]#isU"; отак тоже пробовал нето ищет шо надо
От щас тока писал и придумал как стоит попробовать вспомнил, что метасимволы если встречаются в страке, то их нужно экранировать. Вообщем отак попробую скорей всего правильно
$pattern = "#[^(\[code\](.+)\[\/code\])]#isU", тока неуверен скобки нужны или нет( но если безскобок то скорее всего неправельно будет потому, что будет каждый символ исключатся, а нам нужно както их сгрупировать попробую отето.

Нахрена оно тебе?
Да java мне и нафиг ненада

Книга.. А зачем? С регулярками все просто - там же в рамках одной статьи все вмещается. Лучше как раз прочитать теорию, из статьи типа такой и дальше наоборот практика. А книга
Да нетак уж и просто. Я такую статью примерно, а может даже и лутше в учебнике читал. Да и отзывы об этой книге прочитал так там пишут чуваки типа до прочтения книги рег. выр. применяли но както неуверенно чтоли, а после прочтения книги расширили область пременения рег. выр. Да и вообще там в ведении пишется, что на низком уровне рег. выражения используются для проверки данных, а на высоком для управления данными.

Да и вообще со статьи чему там можно научится, тока синтаксис изучить, метасимволы, квантификаторы,модификаторы. мб ище там чо неупомню. Для того чтобы их на практике научится применять нужно разобрать неодин практический пример, где они применяются. Это тоже самое, что сказать студенту или ученику вот тебе теория, аксиомы, формулы, изучиш их, а потом дать ему задачки пусть решает, конечно он их нерешит потому, что некогда невидел как они решаются.
Как можно применять регулярные выражения никада невидя как они применяются худо бедно зная синтаксис. Тут конечно перейти к практике будет очень сложно Ладно тут я фигни нагородил отвечу коротко по теме:

Нашо их учить? Да просто, чтобы экономить время потому, что незнаю как но гдето читал, что владение регулярными выражениями в программировании это тоже самое, что и десятипальцевый слепой набор текста дает свободу мб действий я непомню типа расшеряет возможности, экономит время Одна строка регулярного выражения может заменить несколько страниц кодат, так что подумать просто стоит ли их изучать или нет, тем более они универсальны не в одном языке применяются.

А книгу купил потому, что хочу глубоко изучить не просто знать синтаксис но и свободно применять на практике, чтобы не задумываться как, то написать р.в. или как другое. Кароче мое ИМХО такое. Статьей можно дополнить, а без книги глубоких знаний небудет.
 
V

vital

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

расширенное и углубленное описание пакета java.util.regex компании Sun, при этом особое внимание уделено различиям между Java 1.4.2 и Java 1.5/1.6
И так, еще раз. Зачем?)

Добавлено:
скорей всего правильно
$pattern = "#[^(\[code\](.+)\[\/code\])]#isU
Вроде похоже. Не понятно зачем только в круглые скобки берешь.
 
T

typak

И так, еще раз. Зачем?)
Та то лишнее конечно, там и perl и NET тоже есть PHP
Наверно затем шо регулярные выражения применяются и там и там и там или они главным образом в Java применяются ?

скорей всего правильно
$pattern = "#[^(\[code\](.+)\[\/code\])]#isU


Вроде похоже. Не понятно зачем только в круглые скобки берешь.
Да, а как же без круглых скобок тадаж обьединения небудет ну от типа так:
[^abc] и от так [^(abc)] этож не тоже самое в первом случае будет исключатся и каждая буква а во втором случае ряд символов и то в подмаску попадают и вроде как и такие слова как abcbb и abc и kkkabcddd там еще наверно придётся помудрить с началом и концом строки (может быть и ошибаюсь но помоему так)

мб правильно будет даже отак определить конец и начало строки:

$pattern = "#[^($\[code\](.+)\[\/code\]?)]#isU или их может даже за скобками писать

то надо пробовать на практике, что получится отетож от такие знания регулярных выражений почти никакие синтаксис вроде понятен, а так ли его писать суверенностью сказать тяжело. Отетож такое нерешительное применение их мне и ненравится хочется научится уверенно ими пользоваться, а не просто гадать.
 
T

typak

мб правильно будет даже отак определить конец и начало строки:

$pattern = "#[^($\[code\](.+)\[\/code\]?)]#isU или их может даже за скобками писать

Да и тут символы начала и конца перепутал сходу херню написал $ и ? вместо ^ и $

$pattern = "#[^(^\[code\](.+)\[\/code\]$]#isU мб еще нужно и + добавить отак
$pattern = "#[^(^\[code\](.+)\[\/code\]$]+#isU типо встречается хотябы 1 или больше раз
не навепнр + лишний, а то оно строку без тегов не обработает лутше * а мож вообще ненужно не + и не *

Регулярные выражения это бомба. :)
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!