次の文をフィルタリングしようとしています
'I'm using C++ in high-tech applications!', said peter (in a confident way)
取得する個々の単語に
I'm using C++ in high-tech applications said peter in a confident way
私がこれまでに持っているのは
parsing=re.findall(r"\w+(?:[-']\w+)*|'|[-.(]+|\S\w*",text)
' '.join(w for w in parsing if w not in string.punctuation)
しかし、これは生成します
I'm using C in high-tech applications said peter in a confident way
したがって、'C++' は誤って 'C' に変換されます。これは、'+' が string.punctuation に含まれているためです。「+」がトークン化されないように正規表現コードを変更できる方法はありますか? 目的の出力を取得するための代替方法も歓迎します、ありがとう!