私はフレーズのリストを持っています(ユーザによる入力)。例:python、re.search/re.splitは、タイトルのように見えるフレーズ、つまり上手いケースから始まるものです。
titles = ['Blue Team', 'Final Match', 'Best Player',]
text = 'In today Final match, The Best player is Joe from the Blue Team and the second best player is Jack from the Red team.'
1 /私はそう
titre = re.compile(r'(?P<title>%s)' % '|'.join(titles), re.M)
list = [ t for t in titre.split(text) if titre.search(t) ]
は次のようにこれらの語句の出現をすべて見つけることができます
2/I(簡単にするために、私は完璧な間隔を想定しています。)これらのフレーズの変形を見つけることもできます。 「ブルーチーム」、「ファイナルマッチ」、「ベストプレイヤー」...テキストを使用する場合はre.Iを使用します。
しかし、入力句の変種のみを最初の文字を大文字にして検索することに限定したいとします。彼らが入力としてどのように入力されたかにかかわらず、テキスト中の「青チーム」。 '青い目'。
フレーズの一部にre.Iフラグを「ブロックする」ことができますか?擬似コードで、私は '[B] lue Team | [F] inal Match'のようなものを生成すると想像します。
注:私の主な目標は、たとえば、テキスト中の入力フレーズの頻度を計算するのではなく、テキストフレーズ間のテキストフラグメントを抽出して分析することです。正規表現を使用して、ケースフラグが適用される無視するだけで地域を指定することができないだろうと思い
l = [ t for t in titre.split(text) if titre.search(t) and t[0].isupper() ]
正規表現のtitreを実際に生成し、フレーズの前後の前後のコンテキストを分析するために使用したいと付け加えておきます。 – quanalyst