You can use this regex:
[^;]+(?=;[^;]*$)
[^;]
matches any character except ;
+
is a quantifier that matches the preceding character or group one to many times
*
is a quantifier that matches the preceding character or group zero to many times
$
is the end of the string
(?=pattern)
is a lookahead which checks if a particular pattern occurs ahead