0

正規表現を使用して、グループを否定してコンテンツを抽出したい (検索と置換を行う代わりに)

Infobox ブロックを取得するために、次の正規表現を使用しています。

(\{\{Infobox(?:.*?)^\}\})

インフォボックスのないテキストが返されるように、そのグループを否定するにはどうすればよいですか。私は多くの組み合わせを試しました

(.*(?!(?:\{\{Infobox(?:.*?)^\}\})).*)

これは、抽出しようとしているサンプルテキストです。

<username>Majorclanger</username>
<id>817248</id>
</contributor>
<minor />
<comment>rm unneeded hyphen</comment>
<text xml:space="preserve">{{sprotected2}}
{{Infobox MLB player
| birthplace = {{city-state|Riverside|California}}
| debutdate = May 30
| debutyear = 1986
}}

==Early life==
{{Infobox Person
|parents       = 
|relatives     = 
|signature     = 
|website       = 
}}

Born in {{city-state|Riverside|California}}, Bonds grew up in {{city-state|San Carlos|California}} and attended 
4

1 に答える 1

1

使用している言語の正規表現の方言に依存する場合があります。Python では、次のことができます。

pattern = re.compile('{{Infobox.*?\n}}', re.DOTALL)
print re.sub(pattern, '', s)
于 2012-05-19T17:42:26.100 に答える