Я пытаюсь токенизовать что-то вроде hello world123 в hello, world и 123.У меня есть две части кода, которые, я думаю, нужны, но я не могу их правильно объединить tokenize.
hello world123
hello
world
123
tokenize
(?u)\b\w+\b (?<=\D)(?=\d)|(?<=\d)(?=\D)
Вы можете использовать
import re s = "hello world123" print(re.findall(r'[^\W\d_]+|\d+', s)) # => ['hello', 'world', '123']
См. Демоверсию Python
Детали шаблона
[^\W\d_]+
|
\d+
См. regex demo .
БОНУС : для сопоставления любых буквенных подстрок и чисел различных типов используйте
[^\W\d_]+|[-+]?\d*\.?\d+(?:[eE][+-]?\d+)?
См. это демонстрационное выражение regex .
См. Разумный синтаксический анализ научной нотации? для деталей регулярного выражения.