非结构化维基百科同义词b

2024-04-26 07:43:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我想解开维基百科的同义词括号。你知道吗

这里有一个简单的方法。你知道吗

He is [[Korean]].

我可以拆下支架。你知道吗

这是另一个困难的问题。你知道吗

He lives in [[Gimhae city|Gimhae]].

第一个(金海市)是维基百科文档标题。你知道吗

所以我得把第二个放在括号里。你知道吗

欢迎任何建议。你知道吗


Tags: 方法in文档标题cityis建议支架
1条回答
网友
1楼 · 发布于 2024-04-26 07:43:35

可以使用以下正则表达式:

\[{2}(?:[^|\]]*\|)?([^]]*)]{2}

\1相关。你知道吗

demo

下面是正则表达式匹配的内容:

  • \[{2}-2开方括号
  • (?:[^|\]]*\|)?-0或1个字符序列,而不是|](带[^|\]]*)和一个|\|的文本(注意它在字符类之外转义)
  • ([^]]*)-匹配并捕获到组1中,我们稍后将使用\10个或更多字符(不包括右方括号)引用该组
  • ]{2}-2结束方括号(注意,由于第一个[被转义,所以我们不必在这里转义它们)。你知道吗

Python snippet

import re
p = re.compile(r'\[{2}(?:[^|\]]*\|)?([^]]*)]{2}')
test_str = "He lives in [[Gimhae city|Gimhae]]. He lives in [[Gimhae]]. "
result = re.sub(p, r"\1", test_str)
print(result) # => He lives in Gimhae. He lives in Gimhae. 

相关问题 更多 >