class_docstr: A ``WordSplitter`` which keeps runs of (unicode) letters and runs of digits together, while
  every other non-whitespace character becomes a separate word.
class_docstr_tok: ["A","``","WordSplitter","``","which","keeps","runs","of","(","unicode",")","letters","and","runs","of","digits","together",",","while","every","other","non-whitespace","character","becomes","a","separate","word","."]
code: def split_words(self, sentence):
      # We use the [^\W\d_] pattern as a trick to match unicode letters
      tokens = [
          Token(m.group(), idx=m.start())
          for m in re.finditer(r"[^\W\d_]+|\d+|\S", sentence)
      ]
      return tokens
  
imports: from __future__ import absolute_import
  import re
  import spacy
  from allennlp.common import Registrable
  from allennlp.common.util import get_spacy_model
  from allennlp.data.tokenizers.token import Token
label_desc: Use image node_id 1 for calling the LettersDigitsWordSplitter obj's underlying member method code with example usage: obj.split_words(sentence) and returns: tokens