关于您尝试的模式的一些注意事项:
-
没有
//
在里面
https:www.linkedin.com/in/kim-zand-3126573/
(也许是打字错误?)
-
linkedin\.\/
与linkedin.com不匹配
\/
比赛
/
-
示例字符串中没有空格,这在之前的正则表达式中是预期的
linkedin\.
-
文本不在字符串的开头
^
只要有锚
-
你必须避开圆点才能真正匹配它
-
第二次正斜杠
//
不必是可选的,也不必避开正斜杠
例如,您可以匹配:
\bhttps?://www\.linkedin\.com/\S*
或者,如果数据中真的没有双正斜杠:
\bhttps?:www\.linkedin\.com/\S*
然后替换为
[Linkedin]
见a
regex demo
或者对给定示例进行更具体的匹配,匹配
-digits
最后一部分之前
/
\bhttps?://www\.linkedin\.com\/[^\s/]+/[^/\s]+-\d+/(?!\S)
看另一个
regex demo
例子:
import re
strA = '[Linkedin]'
urlReg = re.compile(r"\bhttps?://www\.linkedin\.com/\S*")
def linkedin(sentence):
return urlReg.sub(strA, sentence)
result = linkedin(r"You can find my linkedin https://www.linkedin.com/in/kim-zand-3126573/")
print(result)
输出
You can find my linkedin [Linkedin]