正規表現を使って単語列を単語リストに分割しようとしています。私はまだ正規表現の初心者です。句読点を含む句読点の後に文字列を分割する
私はnltk.regex_tokenizeを使用しています。これは近い結果を出すものですが、私が望むものではありません。
これは私がこれまで持っているものです。
>>> import re, codecs, nltk
>>> sentence = "détesté Rochard ! m'étais à... 'C'est hyper-cool.' :) :P"
>>> pattern = r"""(?x)
#words with internal hyphens
| \w+(-\w+)*
#ellipsis
| \.\.\.
#other punctuation tokens
| [][.,;!?"'():-_`]
"""
>>> nltk.regexp_tokenize(sentence.decode("utf8"), pattern)
[u'd\xe9test\xe9', u'Rochard', u'!', u'm', u"'", u'\xe9tais', u'\xe0', u'qu', u"'", u'on', u'...', u"'", u'C', u"'", u'est', u'hyper-cool', u'.', u"'", u':', u')', u':', u'P']
次のように私は出力を持っているしたいと思います:
[u'd\xe9test\xe9', u'Rochard', u'!', u"m'", u'\xe9tais', u'\xe0', u"qu'", u'on', u'...', u"'", u"C'", u'est', u'hyper-cool', u'.', u"'", u':)', u':P']
私は「顔文字」の回避策を持っているので、私は「何最も関心のあるのは引用符です。