LINUX.ORG.RU

Помогите допилить regexp

 ,


0

2

Написал вот такой regexp ^\\*scratch<[[:digit:]]+>\\*$
Теперь хочу сделать так, что бы <[[:digit:]]+> мог и не присутствовать (т.е. выражение *scaratch* нормально проходило).
Как это правильно сделать?

★★★★★
[~]$ echo "*scratch<2>*" | grep -oE "^\\*scratch(<[[:digit:]]+>){0,1}\\*$"
*scratch<2>*
[~]$ echo "*scratch*" | grep -oE "^\\*scratch(<[[:digit:]]+>){0,1}\\*$" 
*scratch*
post-factum ★★★★★
()
Ответ на: комментарий от post-factum

Странно, не работает. Да, ты как бы на tag взгляни, наверное надо указать, что это emacs regexp'ы.
Я пытался в их стиле написать ^\\*scratch\(<[[:digit:]]+>\)?\\*$, но это не помогло. Может что умное их мануал подскажет: https://www.gnu.org/software/emacs/manual/html_node/emacs/Regexp-Backslash.ht...

В любом случае спасибо за помощь.

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