私はフランス語の正規表現を持っていますが、アクセントがあります。
私は印刷された辞書を持っています(pythonicデータ構造ではありません):大文字で書かれた単語のリストとそれに続く定義。20Mo 辞書をすべて大文字の単語で分割したいと考えています。
問題は、単語自体がさまざまな単語で構成されている場合に発生します。空白の有無にかかわらず、大文字のスーツに続いてテキストを分割する必要があります。さらに、単語は強調された文字を持つことができます。
私はそれを実現しようと1日を費やしましたが、答えを見つけることができませんでした.
例を次に示します。
# -*- coding: utf-8 -*-
import codecs
import re
import string
print "debut pgm"
import regex
dico = """ARRHEMENT. s. m. L'action d'arrher. Achat de grains en vert et sur pied. ARRHER.v. a. S'assurer de quelque chose en donnant des arrhes. Arrher des marchandises.
Arrhé, ée. participe. ARRHES. s. f. pl. L'argent qu'on donne pour assurance de l'exécution d'un marché, et que l'on perd si lemarché n'a pas lieu par la faute de celui qui les a données. Le marché est−il conclu? donnez des arrhes. Il s'est engagé, il a pris des arrhes. Donner des arrhes au coche. •On dit familièrement, qu'On a donné des arrhes au coche, pour faire entendre qu'On s'est engagé dans quelque affaire, dans quelque société. Je ne puis
A 201"""
pattern = r'(?u)\p{Lu}+(?: \p{Lu}+)*|\p{Ll}+'
matches = regex.findall(pattern, dico)
n =0
i = 0
definition = ""
mot = ''
while i < len(matches):
if matches[i].isupper() and len(matches[i])>1:
print definition
definition =""
word = matches[i]
print "[",word,"]"
else:
definition += matches[i] + " "
i = i + 1
結果はデビューpgmを与える
[ ARRHEMENT ]
s m L action d arrher A chat de grains en vert et sur pied
[ ARRHER ]
v a S assurer de quelque chose en donnant des arrhes A rrher des marchandises A rrh ? ? e participe
[ ARRHES ]
しかし、句読点を保持したいと思います(また、タイプを検出できるようにします(「sm」のようなタイプのリストがあります)
私はそれが狂ったように単純だと確信しているので、助けていただければ... ありがとう、romain。