gpt4 book ai didi

用于查找 MediaWiki 标记链接内容的 Python 正则表达式

转载 作者:太空宇宙 更新时间:2023-11-03 13:06:22 25 4
gpt4 key购买 nike

如果我有一些 xml 包含类似以下 mediawiki 标记的内容:

" ...collected in the 12th century, of which [[Alexander the Great]] was the hero, and in which he was represented, somewhat like the British [[King Arthur|Arthur]]"

什么是合适的参数,例如:

re.findall([[__?__]], article_entry)

我在转义双方括号和获取文本的正确链接时遇到了一些问题:[[巴黎的亚历山大 | 名叫亚历山大的诗人]]

最佳答案

举个例子

import re

pattern = re.compile(r"\[\[([\w \|]+)\]\]")
text = "blah blah [[Alexander of Paris|poet named Alexander]] bldfkas"
results = pattern.findall(text)

output = []
for link in results:
output.append(link.split("|")[0])

# outputs ['Alexander of Paris']

版本 2,将更多内容放入正则表达式,但结果会更改输出:

import re

pattern = re.compile(r"\[\[([\w ]+)(\|[\w ]+)?\]\]")
text = "[[a|b]] fdkjf [[c|d]] fjdsj [[efg]]"
results = pattern.findall(text)

# outputs [('a', '|b'), ('c', '|d'), ('efg', '')]

print [link[0] for link in results]

# outputs ['a', 'c', 'efg']

版本 3,如果您只想要没有标题的链接。

pattern = re.compile(r"\[\[([\w ]+)(?:\|[\w ]+)?\]\]")
text = "[[a|b]] fdkjf [[c|d]] fjdsj [[efg]]"
results = pattern.findall(text)

# outputs ['a', 'c', 'efg']

关于用于查找 MediaWiki 标记链接内容的 Python 正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/809837/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com