python - 正则表达式从 Python 中的 MMD 元数据中提取 #hashtags

标签 python regex multimarkdown

我正在尝试从 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/

相关文章:

escaping - 如何处理markdown中的特殊字符?

markdown - sublime text 3 除了创建 snippet 之外,还有其他方法可以快速创建 Markdown 表格吗?

markdown - 在markdown中设置bgcolor

python - Django - 管理表单中的动态文本

python - 用字符串将一个输入变量连接到另一个输入变量

用于简单问题的 Python 正则表达式

以特定字母结尾的 n 位数字的正则表达式

python - 反向功能并不能完全取代一切

python - 不可散列类型 : 'numpy.ndarray' error in tensorflow

php - 新手 php 正则表达式问题