で)(グループを見つけるために正規表現を使用した:I培養物+サブ培養(理想的には、グループ1 & 2のそれぞれ)を収集するために、テキストの次のブロックを分析しようとしている繰り返し{}
ホーム神のエリシウム、アバロン、地上の楽園。 - ケルト(一般):マククロック・セルティック14。アイルランド語:ibid。 37f。、114ff。、Cross;ウェールズ:ibid。 193; Icel:MacCulloch Eddic 312ff。ヒンドゥー:Penzer I 125 n。 1。ユダヤ人:ノイマン.-ハワイ:ベックウィズミス67。そう。 Am。インド(Apapocuv \ xe1-Guarani):M \ xe9traux RMLP XXXIII 122;アフリカ(牙):Trilles 130
私の最高の試みは、これまでのところ、次の正規表現を使用している:
以下になり(\w+)\.?\:|(\w+\.?\s?){0,3}\((.*?)\)\:
:
[(u'', u'Celtic ', u'general'), (u'Irish', u'', u''), (u'Welsh', u'', u''), (u'Icel', u'', u''), (u'Hindu', u'', u''), (u'Jewish', u'', u''), (u'Hawaii', u'', u''), (u'', u'Indian ', u'Apapocuv\xe1-Guarani'), (u'', u'Africa ', u'Fang')]
それに問題がありますそうではなく、「Apapocuv \ xe1-Guarani」の前に「インド人」しか得ていないということです。 Am。インド人。
'(\w+\.?\s?){0,3}'
:
- 最初のグループ
'(\w+)\.?\:'
で終わる任意の単語です:ここではは、システム全体のための私のロジック/要件の内訳は、具体的に "So Am Am。Indian"を取得するためのものです。これは問題が発生しているセクションです。私はインド人だが、そうはしない。 Am。インド人。私はまた、 "ソー・インディアン・インディアン、インディアン・インディアン、インディアン・インディアン・インディアン・インディアン"などのバリエーションを得る必要があります
- 第3グループ
'\((.*?)\)\'
(第2セクションと一緒に)そう:アフリカ(牙)
私は2つのグループでこれらの仕事を持っているのが大好きですが、私は後でコードに3を扱うことができます。誰かがアイデアを持っているなら、私は最も感謝しています。
ワウありがとう!これは本当にうまくいって、私の2つのグループを簡素化するので、ありがとう。私の唯一の疑問は、(おそらく私が持つことができるように明確に指定しなかった)それは「So Am Am。私は、「So Am。Indian、SA Indian、So A. A. Indian、S. Am。Indian」のように、あらかじめ3つまで短縮された単語があるかどうかを知ることができる必要があります。再び。:) – theredknight
例を更新しました。 –
すごい!それは完璧に動作します!ありがとうございました! – theredknight