LINUX.ORG.RU

Regex: multipattern

 ,


0

1

Всем привет!

Нужна помощь в составлении грамотного regex'a.

Есть вот такие версии у артефактов:

  • 7.4.0-187
  • 7.5.1-113
  • 7.5-11test
  • 1.1.2
  • 2.2

Первые 3 вида я успешно обрабатываю такой регуляркой: def regex = /(\d.+)(-\d+(?![\w*]))/, те мне нужны версии с цифрами после тире, а если есть версии где буквы фигурируют в названии - то эти версии не нужно. Однако теперь нужно обрабатывать еще и версии артефактов вообще без тире. И как это сделать я хз. Может быть нужно добавить 2 regex'а или как-то модернизировать существующий.

Буду рад любой помощи!


Как-то так.

$ cat versions                                                     
7.4.0-187
7.5.1-113
7.5-11test
1.1.2
2.2
$ cat versions | grep -E '^([0-9]+)(\.[0-9]+)(\.[0-9]+)?(-[0-9]+)?$'
7.4.0-187
7.5.1-113
1.1.2
2.2
$ 

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