正規表現を使用しようとしています。私は、私は、テキストから以下のテンプレートを抽出したい文字列内のグループに複数回一致する
influences =
{{hlist |[[Plato]] |[[Aristotle]] |[[Socrates]] |[[David Hume]] |[[Adam Smith]] |[[Cicero]] |[[John Locke]]}}
{{hlist |[[Saint Augustine]] |[[Saint Thomas Aquinas]] |[[Saint Thomas More]] |[[Richard Hooker]] |[[Edward Coke]]}}
{{hlist |[[Thomas Hobbes]] |[[Rene Descartes]] |[[Montesquieu]] |[[Joshua Reynolds]] |[[Sir William Blackstone|William Blackstone]]}}
{{hlist |[[Niccolo Machiavelli]] |[[Dante Alighieri]] |[[Samuel Johnson]] |[[Voltaire]] |[[Jean Jacques Rousseau]] |[[Jeremy Bentham]]}}
を一致させる必要があり、この文字列を持っている:
{{hlist .... }}
代わりに、次のテキストが一致するようにしていません。
main_interests =
{{hlist |[[Music]] |[[Art]] |[[Theatre]] |[[Literature]]}}
私はこの正規表現を書いたが、それは
(?:^\|\s*)?(?:influences)\s*?=\s*?(?:(?:\s*\{\{hlist)\s*\|([\d\w\s\-()*—&;\[\]|#%.<>·:/",\'!{}=•?’
á~ü°œéö$àèìòùÀÈÌÒÙáéíóúýÁÉÍÓÚÝâêîôûÂÊÎÔÛãñõÃÑÕäëïöüÿÄËÏÖÜŸçÇßØøÅåÆæœ]*?)(?=\n))+
01を動作しません。
私はPythonを使用しています。
'hlist'の後ろのテキストだけか、角括弧なしで名前のリストを取得したいですか? –
大括弧の中のhlistの後のテキストを取りたいと思います。さらに、hlistタグは他のフィールド(main_interestsの上記の例を参照)に表示される可能性があるため、一致するテキストが正確なフィールド(例:influnces)に属することを確認したいと思います。 –
正規表現 '\\ s * =(?:\\ s * {{hlist(?:\\ s * \\ | \\ [\\ [([^]] +)\\] \])+}})* '。尋ねられたテキストをキャプチャします。 C#を使うと、 'matches [0] .Groups [1] .Captures'を使ってグループのすべてのキャプチャを取得できます。 –