2

アプリケーションでツイートをフィルタリングしており、テキストに特定の単語が含まれるすべてのツイートを返したいと考えています。したがって、BBC をフィルタリングしていて、BBC のすべてのインスタンスが必要な場合。BBC、bbc、BBC1、#BBC、@bbc、どうやって正規表現を書けばいいの?

これまでのところ、私はやっています:

re.compile(r'#|@[0-9]'+term, re.IGNORECASE)

用語は単語を含むリストであり、リスト内の余分な @ または # または 0-9 をその単語の先頭または末尾に追加または追加した単語のみ、または単語自体を返したいと考えています。

ありがとう

4

1 に答える 1

2

'\b'区切り文字を使用して単語全体を検索します。

re.compile(r'\b(?:#|@|)[0-9]*%s[0-9]*\b' % re.escape(term), re.IGNORECASE)
于 2012-11-16T23:13:24.437 に答える