如何使用Python从markdown中删除脚注

时间:2016-04-25 22:34:58

标签: python regex markdown

我是一名正则表达式的新手。我在Python中有一些字符串:来自markdown text的import re pattern = r"\[([\w]+)\]" s = "^b^[word](#32b)" m = re.search(pattern, s) print(m.group(1)) 。我想删除脚注以获得这个词。

我有以下工作:

word

该片段提取单词^c^[every word](#12c)。但是现在如果我在括号内有多个单词如Get-Childitem -path \\lettertext\BIZ -Recurse -Include *.txt | ForEach-Object { $Parts = $_.fullname.split('\')[4..7] [PSCustomObject]@{ Customer = $Parts[0] ClientGroup = $Parts[1] Client = $Parts[2] ClientDivision = $Parts[3] FileName = $_.FullName | Split-Path -Leaf } } | Export-Csv c:\Letters\BIZ.csv -NoTypeInformation 并且我想要提取所有单词呢?谢谢!

1 个答案:

答案 0 :(得分:0)

您可以使用:\^[^^]+\^\[([^\]]+)\]\([^)]+\)

代码如下:

import re
p = re.compile(ur'\^[^^]+\^\[([^\]]+)\]\([^)]+\)')
test_str = u"^b^[word another words](#30b)"


for (words) in re.findall(p, test_str):
    print words.split()

正则表达式并不复杂,它只涉及很多转义。

  • [^^]+匹配一些不是^

  • 的字符
  • ([^\]]+)捕获括号内部

  • [^)]+匹配不是)

  • 的字符

我只提供了一个简单的分词。

您可以找到更复杂的解决方案here.