^start of string
M{0,2}the literal M (7710 / 1158 / 4D16) (case sensitive), repeated between 0 and 2 times
Non-Capturing Group(?:M(?=CM(?:XC)?(?:IX)?$))? ?repeats the group contents below at most once:
Mthe literal M (7710 / 1158 / 4D16) (case sensitive)
Positive Lookahead(?=CM(?:XC)?(?:IX)?$) CMthe literal text CM (case sensitive) Non-Capturing Group(?:XC)? ?repeats the group contents below at most once:
XCthe literal text XC (case sensitive) Non-Capturing Group(?:IX)? ?repeats the group contents below at most once:
IXthe literal text IX (case sensitive) $end of string
Non-Capturing Group(?:C(?=M[^CD]*(?:XC)?[^CD]*$))? ?repeats the group contents below at most once:
Cthe literal C (6710 / 1038 / 4316) (case sensitive)
Positive Lookahead(?=M[^CD]*(?:XC)?[^CD]*$) Mthe literal M (7710 / 1158 / 4D16) (case sensitive)
Negated Character Class[^CD]* *matches any number of characters outside the set below:
Cthe literal C (6710 / 1038 / 4316) (case sensitive)
Dthe literal D (6810 / 1048 / 4416) (case sensitive)
Non-Capturing Group(?:XC)? ?repeats the group contents below at most once:
XCthe literal text XC (case sensitive) Negated Character Class[^CD]* *matches any number of characters outside the set below:
Cthe literal C (6710 / 1038 / 4316) (case sensitive)
Dthe literal D (6810 / 1048 / 4416) (case sensitive)
$end of string
M?optionally matches the literal M (7710 / 1158 / 4D16) (case sensitive)
Non-Capturing Group(?:C(?=D[^C]*(?:XC)?[^C]*$))? ?repeats the group contents below at most once:
Cthe literal C (6710 / 1038 / 4316) (case sensitive)
Positive Lookahead(?=D[^C]*(?:XC)?[^C]*$) Dthe literal D (6810 / 1048 / 4416) (case sensitive)
Negated Character Class[^C]* *matches any number of characters outside the set below:
Cthe literal C (6710 / 1038 / 4316) (case sensitive)
Non-Capturing Group(?:XC)? ?repeats the group contents below at most once:
XCthe literal text XC (case sensitive) Negated Character Class[^C]* *matches any number of characters outside the set below:
Cthe literal C (6710 / 1038 / 4316) (case sensitive)
$end of string
D?optionally matches the literal D (6810 / 1048 / 4416) (case sensitive)
C{0,2}the literal C (6710 / 1038 / 4316) (case sensitive), repeated between 0 and 2 times
Non-Capturing Group(?:C(?=XC(?:IX)?$))? ?repeats the group contents below at most once:
Cthe literal C (6710 / 1038 / 4316) (case sensitive)
Positive Lookahead(?=XC(?:IX)?$) XCthe literal text XC (case sensitive) Non-Capturing Group(?:IX)? ?repeats the group contents below at most once:
IXthe literal text IX (case sensitive) $end of string
Non-Capturing Group(?:X(?=C[^X]*(?:IX)?[^X]*$)(?!.*L))? ?repeats the group contents below at most once:
Xthe literal X (8810 / 1308 / 5816) (case sensitive)
Positive Lookahead(?=C[^X]*(?:IX)?[^X]*$) Cthe literal C (6710 / 1038 / 4316) (case sensitive)
Negated Character Class[^X]* *matches any number of characters outside the set below:
Xthe literal X (8810 / 1308 / 5816) (case sensitive)
Non-Capturing Group(?:IX)? ?repeats the group contents below at most once:
IXthe literal text IX (case sensitive) Negated Character Class[^X]* *matches any number of characters outside the set below:
Xthe literal X (8810 / 1308 / 5816) (case sensitive)
$end of string
Negative Lookahead(?!.*L) .*any character (except for line terminators), repeated any number of times
Lthe literal L (7610 / 1148 / 4C16) (case sensitive)
C?optionally matches the literal C (6710 / 1038 / 4316) (case sensitive)
Non-Capturing Group(?:X(?=L[^X]*(?:IX)?[^X]*$))? ?repeats the group contents below at most once:
Xthe literal X (8810 / 1308 / 5816) (case sensitive)
Positive Lookahead(?=L[^X]*(?:IX)?[^X]*$) L?optionally matches the literal L (7610 / 1148 / 4C16) (case sensitive)
X{0,2}the literal X (8810 / 1308 / 5816) (case sensitive), repeated between 0 and 2 times
Non-Capturing Group(?:X(?=IX$))? Non-Capturing Group(?:I(?=[XV]$))? X?optionally matches the literal X (8810 / 1308 / 5816) (case sensitive)
V?optionally matches the literal V (8610 / 1268 / 5616) (case sensitive)
I{0,3}the literal I (7310 / 1118 / 4916) (case sensitive), repeated between 0 and 3 times
$end of string