我想要拿出一個正則表達式來匹配一個特定的模式,通過這個模式我已經安排了文本文件中的文章。 (注:「|」表示段落標記/線斷裂,而顯示一些非單詞字符「」)這是模式正則表達式:匹配特定模式之間的任何東西
|
...........................Dokument.1.von.55|
|
|
|
..........................Some newspaper|
|
..........................Freitag 08. Mai 2015
|
sometextsometextsometextsometextsometextsometextsometextsometextsometextsometext
sometextsometextsometextsometextsometextsometextsometextsometextsometextsometext
(etc..)
|
METAINFO1: IWOIOWIEOWEIWOEIWEO
|
(etc... possibly more metainfo all capitalized)
|
|
.........................Copyright 2015 some publisher notes
.........................at most one more single line containing copyright information
.........................Alle Rechte vorbehalten|
# note: last line alternatively: All Rights Reserved
|
(next pattern i.e. article)
(我不得不匿名保護版權的目的)
我已經創建瞭如下的正則表達式,用於提取單篇:
- 比賽開始行後跟一個換行符
^[\r\n]
- 匹配含有「庫門行.... 「通過非單詞字符之前
[\W]+Dokument \d{1,} von \d{1,}
- 匹配任何數量的換行符
[\r\n]+
- 匹配任何字和非單詞字符(即文章的文本)
[\w\W]+
- 比賽最後的換行符(最後一行中的下一個模式開始之前)
[r\n]
- 匹配任何非單詞字符和字符串「ALLE Rechte vorbehalten」或「版權所有」
[\W]+(Alle Rechte vorbehalten|All Rights Reserved)
- 行(最後一行)的匹配端
$
因此,整個RE是^[\r\n][\W]+Dokument \d{1,} von \d{1,}[\r\n]+[\w\W]+[\r\n][\W]+(Alle Rechte vorbehalten|All Rights Reserved)$
我與Textpad進行了測試。當我使用RE進行向後搜索時,它會匹配任何單個文章(根據需要)。但是當我做一個向前搜索它匹配整個文檔。
起初我認爲它匹配任何文章,然後看起來像是它匹配的一切。但後來我嘗試了替換選項,其結果是我的測試條款只被替換一次。
所以RE沒有完成它的工作。我一直在研究這一段時間,但無法找到我的錯誤。
我該怎麼做? - 我的RE中有錯誤嗎?
我打算匹配的文章,把工作RE成爲一個捕獲組,然後用一些XML替換它。但我被困在這裏。
乾杯, 安德魯
如何將文本與「Dokument.1.von.55」模式「分割」? Dokument \ d {1,} von \ d {1,} [\ d \ D] *?(?= Dokument \ d {1,} von \ d {1,}) 那樣,必須正確匹配版權 – mameluc