import re


def _naive_tokenize(s):
  """Tokenize a string, separating words, spaces and punctuations."""
  # Spaces and punctuation marks are all retained, i.e. direct concatenation
  # of all the tokens in the sequence will be the original string.
  seq_tok = [tok for tok in re.split(r"([^a-zA-Z0-9])", s) if tok]
  return seq_tok