Регулярное выражение исключая определенные символы - PullRequest
0 голосов
/ 03 декабря 2018

У меня есть следующие теги, доступные в git.

popup/0.0.998
popup/14.0.999
popup/54.33.99
popup/20160729/0.0.624
popup/20160730/1.55.624
popup/20160930/99.44.783

Из этих тегов я хочу только следовать и исключать другие теги.То есть я хочу, чтобы только теги popup/natural_number.natural_number.natural_number имели этот формат.

popup/0.0.998
popup/14.0.999
popup/54.33.99

Я использовал следующую команду, но она все еще дает следующие теги -

Используемая команда: git tag -l 'popup/[0-9]*\.[0-9]*\.[0-9]*'

Даем все теги:

popup/0.0.528
popup/140.42.409
popup/54.323.726
popup/20160729/0.0.624
popup/20160730/1.55.624
popup/20160930/99.44.183

Пожалуйста, подскажите, как мне этого добиться.

Ответы [ 2 ]

0 голосов
/ 03 декабря 2018

git tag не принимает регулярное выражение, и причина, по которой он возвращает что-то, заключается в том, что он принимает расширения имени файла или глобализацию.Вы можете использовать grep вместо:

git tag -l | grep -P '^popup/\d+\.\d+\.\d+$'
0 голосов
/ 03 декабря 2018

Вы, вероятно, должны избежать обратной косой черты:

popup/[0-9]*\\.[0-9]*\\.[0-9]*

Я тестировал с grep, и это сработало:

$ cat tags
popup/0.0.998
popup/14.0.999
popup/54.33.99
popup/20160729/0.0.624
popup/20160730/1.55.624
popup/20160930/99.44.783
$ cat tags | grep popup/[0-9]*\\.[0-9]*\\.[0-9]*
popup/0.0.998
popup/14.0.999
popup/54.33.99
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...