首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从文本中提取linkedin用户名的模式

从文本中提取linkedin用户名的模式
EN

Stack Overflow用户
提问于 2021-03-23 16:06:45
回答 5查看 161关注 0票数 2

我正在尝试提取linkedin的url,它是用这种格式编写的,

代码语言:javascript
复制
text = "patra 12 EXPERIENCE in / in/sambhu-patra-49b4759/ 2020 - Now O Skin Curate Research Pvt Ltd Embedded System Developer, WB 0 /bindasssambhul O SKILLS LANGUAGES Arduino English Raspberry Pi Movidius Hindi Bengali ICS Intel Compute Stick PCB Design Python UI Design using Tkinter HOBBIES HTML iti CSS G JavaScript JQuery IOT\n"


pattern = \/?in\/.+\/?\s+

我需要从上面那些噪音很大的文本中提取这个in/sambhu-patra-49b255129/

这是一个linkedin网址,以简短的形式写成。

我的模式不管用

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2021-03-23 16:08:47

您可以使用

代码语言:javascript
复制
m = re.search(r'\bin\s*/\s*(\S+)', text)
if m:
  print(m.group(1))

regex演示

详细信息

  • \b -字边界
  • in -介词in
  • \s* -零或多个空白空间
  • / -a / char
  • \s* -零或多个空白空间
  • (\S+) -捕获组1:任意一个或多个空白空间。
票数 3
EN

Stack Overflow用户

发布于 2021-03-23 16:14:46

另一个选项匹配单词字符,可选地由-和word字符重复,并在结尾处使用可选的/

代码语言:javascript
复制
(?<!\S)in/\w+(?:-\w+)*/?

模式匹配:

  • (?<!\S)断言左边的空白边界
  • in/匹配
  • \w+(?:-\w+)*匹配1+单词字符,-和1+单词字符可选地重复
  • /?匹配可选/

Regex演示

代码语言:javascript
复制
import re
s = ("patra 12 EXPERIENCE in / in/sambhu-patra-49b4759/ 2020 - Now O Skin Curate Research Pvt Ltd Embedded System Developer, WB 0 /bindasssambhul O SKILLS LANGUAGES Arduino English Raspberry Pi Movidius Hindi Bengali ICS Intel Compute Stick PCB Design Python UI Design using Tkinter HOBBIES HTML iti CSS G JavaScript JQuery IOT")
m = re.search(r"(?<!\S)in/\w+(?:-\w+)*/?", s)
if m:
    print(m.group())

输出

代码语言:javascript
复制
in/sambhu-patra-49b4759/
票数 3
EN

Stack Overflow用户

发布于 2021-03-23 16:12:14

不如就这样:

代码语言:javascript
复制
text.split(" ")[5]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66766923

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档