LINUX.ORG.RU

Помогите написать regexp


0

0

Задача простая, но у меня какой-то ступор, не могу решить:

>> Любое сочетание символов, только не включающее в себя прямой слэш (/).

Любое сочетание символов: .* (или .+)

Не прямой слэш: [^/]

Как это объединить не понимаю :(

anonymous

Ответ на: комментарий от swizard

/^[^\/]+?$/

А то он у тебя вот такое "////////asdasd///////" в лёгкую пропустит

r_asian ★☆☆
()
Ответ на: комментарий от swizard

> [^/]+? :)

В смысле '[^/]+' ?

$ echo hello | grep '[^/]+'
$

$ echo hello | grep '[^/]+?'
$

Квантификаторы + и ? разве имеет смысл подряд использовать?

> /^[^\/]+?$/

$ echo hello | grep '/^[^\/]+?$/'
$

anonymous
()
Ответ на: комментарий от annoynymous

> $ echo hello | grep '^[^/]\+$'

Вот это работает, спасибо, т.е. смысл был в том, чтобы поместить 'все кроме /' в '^$'

> читай маны грепа

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

anonymous
()
Ответ на: комментарий от r_asian

Насколько я знаю, разные спецификации регекспов отличаются не сильно, греп -- как быстрый способ проверки, а нужно мне для MoinMoin +)

anonymous
()
Ответ на: комментарий от anonymous

> Насколько я знаю, разные спецификации регекспов отличаются не сильно,

Ты неправильно знаешь.

anonymous
()
Ответ на: комментарий от anonymous

Я не имею в видe wildcard'ы, а, к примеру, posix и perl regexp.

Если есть какая-то реализация, которая бы отличалась от вышеназванных, просьба сообщить ее название в студию.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.