我正在尝试从 multimarkdown 纯文本文件的“标签:#tag1 #tag2”行中提取所有#hashtags。 (我处于 Python 多行模式。)
我试过使用前瞻:
^(?=Tags:\s.*)#(\w+)\b
和回顾:
#(\w+)\b(?<=Tags:^\s)
Plain vanilla #(\w+)\b
可以工作,除了它会拾取可能出现在文档后面的任何#hashtag。
感谢任何提示、帮助和指导。
最佳答案
text = "\n\n#bogus\nTags: #foo #bar\n"
首先,你需要得到这条线:
line = re.findall(r'Tags:.+\n', text)
# line = ['Tags: #foo #bar\n']
最后,您需要从行中获取标签:
tags = re.findall(r'#(\w+)', line[0])
# tags = ['foo', 'bar']
tags = re.findall(r'#\w+', line[0])
# tags = ['#foo', '#bar']
Lookbehind 将不起作用,因为您需要提供没有固定宽度的模式。
关于python - 正则表达式从 Python 中的 MMD 元数据中提取 #hashtags,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20843535/