我正在尝试提取linkedin的url,它是用这种格式编写的,
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网址,以简短的形式写成。
我的模式不管用
发布于 2021-03-23 16:08:47
您可以使用
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:任意一个或多个空白空间。发布于 2021-03-23 16:14:46
另一个选项匹配单词字符,可选地由-和word字符重复,并在结尾处使用可选的/:
(?<!\S)in/\w+(?:-\w+)*/?模式匹配:
(?<!\S)断言左边的空白边界in/匹配\w+(?:-\w+)*匹配1+单词字符,-和1+单词字符可选地重复/?匹配可选/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())输出
in/sambhu-patra-49b4759/发布于 2021-03-23 16:12:14
不如就这样:
text.split(" ")[5]https://stackoverflow.com/questions/66766923
复制相似问题