Read the statement by Michael Teeuw here.
Volvo on Call
-
I got it to work! Finally.
The whole problem was my licence plate. The regular expression wasn’t able to grab the right groups. Thank you @sdetweil for helping me to investigate.
-
@mz-ber how did u fix the regex?
i would change the 1st capture to
in the list^([^\(]+)\s =capture up to but not including (
in the scan = capture 1st 8 chars
how long is a license number? always 8?^(.{8})\s
-
@sdetweil said in Volvo on Call:
German Number Plates can have the following format:
ABC-D 123 ABC-DE 12 AB-C 123 A-BC 1234
I’m using this regex to get the variations:
^([A-Z]{1,3}-[A-Z]{1,2}\s[0-9]{1,4})\s([\w\s]+)\:\s(.+)$
-
@mz-ber you are missing some german number plates:
AB-CD 123E
electric vehiclesAB-CD 123H
oldtimer, but probably not relevant because they do not have the digital information :DThe other exceptions are not relevant for private vehicles.
-
@strawberry-3-141 True! Good catch! So I guess every variation can also have an
E
at the end. Do you know if there is a whitespace between the last digit and the E? If it is without a space, this will work:^([A-Z]{1,3}-[A-Z]{1,2}\s[0-9,E]{1,5})\s([\w\s]+)\:\s(.+)$
-
@mz-ber officially there is no space in between the numbers and the suffix, but I work for a provider of a mobility platform and I can tell you that users frequently come up with their own formats like
AB-CD123
(no space) orAB-CD 123 E
(extra space).Your regex works, but it would also cover some invalid plates like the following in case you want a challenge to improve your regex:
-
AB-CD 0E5E8
-
The number can’t start with a 0
-
The E can only be in the end not mixed with the numbers
-