正则表达式在维基百科标记语言中查找链接和句子

时间:2014-05-04 19:34:15

标签: regex scala

我打算找到包含链接作为维基标记语言的句子。所以它应该只有[[。+]]作为链接的句子。 在我的情况下,一个句子可以被认为是句号到句号(句号)之间或文本的第一个单词到下一个完整句号之间的单词。

实施例

  

这是[[link]]和测试。这[[link]]也是我想要的   取。我不想拿这条线。

预期输出

This is a [[link]] and a test.
Also this [[link]] is what I want to fetch.

我有独立的正则表达式来检测链接和句子,只是混淆了如何合并两者。

1 个答案:

答案 0 :(得分:0)

(?=[^.]*?\[\[[^\]]+\]\]).*?\.

此正则表达式使用lookahead为整个句子提供链接。它也不会在没有链接的情况下匹配句子。

使用Scala,这会生成一个包含所有句子的数组。

result = subject.scan(/(?=[^.]*?\[\[[^\]]+\]\]).*?\./)