我是一名正则表达式的新手。我在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
并且我想要提取所有单词呢?谢谢!
答案 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.