Я пытаюсь фильтровать следующее предложениеPython Regex предложение фильтрации
'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. В любом случае я могу изменить код регулярного выражения, чтобы «+» не был обозначен? Любой альтернативный метод получения желаемого результата также приветствуется, спасибо!
который \ ш вы говорите? есть три из них – user1893354
@ user1893354 Все они. '(\ W | \ +)' будет соответствовать нормальным словам, а также словам, включая знак плюса в них, но использование '[\ w +]' KyleStrand еще лучше. – C0deH4cker
Спасибо! кажется, сработало – user1893354