input: from typing import List
  
  
  def matches_all_numeric_strings(strings: List[str]) -> List[str]:
      """Given a list of strings, this function will return a new list containing only
      the strings that are valid numeric strings. A valid numeric string is defined as
      a string that consists solely of digits (0-9). The function uses a regular expression
      to determine if a string matches this criterion.
  
      >>> matches_all_numeric_strings(['123456789', 'abc123', '456', '7890a'])
      ['123456789', '456', '7890a']
      >>> matches_all_numeric_strings(['0', '999', '55555', ''])
      ['0', '999', '55555']
      >>> matches_all_numeric_strings(['abc', 'def', 'ghi'])
      []
      """
output:     import re
      numeric_pattern = re.compile(r'^\d+$')
      return [s for s in strings if numeric_pattern.match(s)]