いくつかの正規表現を試しています。私はパイソンを使用しています。
私の今の仕事は、新聞記事をかき集めて、人が亡くなった事例を探すことです。関連する記事ができたら、他のことのために死亡数を把握しようとしています。いくつかのパターンを考え出そうとしていますが、特に 1 つのパターンに苦労しています。このサンプル記事のセクションを見てください:
[SANAA 10月21日 ロイター] - イエメンで10月21日、米軍が無人機で車を攻撃し、アルカイダの武装勢力とみられる3人の男性が死亡したと、部族の情報筋や地元当局者が明らかにした。
「three」を引っ掛けるために使用しているコードは、最初にドキュメント全体で置換を行うため、パターンがまったく適用される前に「three」が「3」になります。この例に関連するパターンは次のとおりです。
re.compile(r"(\d+)\s(:?men|women|children|people)?.*?(:?were|have been)? killed")
このパターンは、数字で始まり、リストされているものの 1 つなどのオプションの名詞が続き、「dead」または「died」を見つける前に最小限の乱雑さがあるという考えです。このパターンがキャッチされるように、部屋を残したい:
3 people have been killed since Sunday
この例では、引き続きインスタンスをキャッチします。
3 men thought to be al qaeda militants were killed
問題は、私が使用しているパターンが、記事の最初の部分から日付を収集し、21 のカウントを返すことです。これまでのところ、どれだけいじっても、範囲を men という単語のすぐ横の数字に制限することはできませんでした。 、その後に分詞句が続き、関連する「殺されました」。
どんな助けでも大歓迎です。REに関しては、私は間違いなく第一人者ではありません。