Regular Expression To Match Roman Numerals

A regular expression to match valid Roman Numerals, which are written using the letters M, D, C, L, X, V, and I.

/^M{0,4}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})$/

Matches:

  • VI
  • MCMXCIX
  • VIII

Non-matches:

  • vi
  • MCCM
  • iV