Quero ter uma função que substitua um perfil do LinkedIn que encontrei em uma string.
exemplo:
- Você pode encontrar meu LinkedIn https: www.linkedin.com/in/kim-zand-3126573/
Depois de usar a função deve ser:
- Você pode encontrar meu LinkedIn [Linkedin]
strA ='[Linkedin]'
Def linkedin(sentence):
urlReg = "^https?:\/\/?(w{3}.)? linkedin\.\/.$"
res = re.search(urlReg, sentence)
print(res)
if res != None:
## replace urls
sentence= re.sub(urlReg,strA, sentence)
return (sentence)
Quando imprimo (res) ele não pega a string, acho que meu Regex não está correto
Algumas notas sobre o padrão que você tentou:
//
entradahttps:www.linkedin.com/in/kim-zand-3126573/
(talvez um erro de digitação?)linkedin\.\/
não corresponde ao linkedin.com como\/
correspondências/
linkedin\.
^
enquanto houver uma âncora//
não precisa ser opcional e você não precisa escapar da barraVocê poderia, por exemplo, combinar:
Ou se realmente não houver nenhuma barra dupla nos dados:
E então substitua por
[Linkedin]
Veja uma demonstração de regex
Ou uma correspondência um pouco mais específica para o exemplo dado, combinando a
-digits
parte anterior à última/
Veja outra demonstração de regex
Exemplo:
Saída