Как сопоставить строку с регулярным выражением и условно делать что-нибудь с группами захвата

Я думаю, что это проблема зависимостей. Пожалуйста, попробуйте mvn clean install

Я всегда делаю mvn clean install -e -U -Dmaven.test.skip=true

1
15.12.2016, 22:10
1 ответ

Я не совсем уверен, что вы хотите (какова точная ожидаемая команда), но это:

printf "%s\n" 'https://github.com/username/reponame.git' \
 'git@github.com:username/reponame' | perl -lne \
'if (m#https://(.*?)/(.*/)#) {print "git remote remove $_ && git remote add $_ git\@$1:$2"}'

должен напечатать

git remote remove https://github.com/username/reponame.git && git remote add https://github.com/username/reponame.git git@github.com:username/

(Измените print на систему если вы уверены, что хотите запускать команды)


Я изменил для r в xyz , чтобы ввести URL: s в стандартный ввод Perl, если вы хотите указать их в командной строке, вы может сделать что-то вроде

perl -le '$_=shift; if (m#http://(.*?)/(.*/)#) {print "blah $_ $1:$2"}' http://foo.bar/user/something

, чтобы отбросить аргумент командной строки до $ _ (который неявно используется m // , если вы не укажете что-то еще с $ var = ~ м // ).

Также лучше избегать @ в строке, так как это сигил для переменной массива.

0
28.01.2020, 01:06

Теги

Похожие вопросы