Antagligen är inte detta rätt forum, men förlåt mig i så fall ;)
Jag håller på och försöker skapa ett pattern för en fraktsedel dvs:
123-12345675
tre siffror först som ett prefix.
Det jag har problem med är de åtta andra siffrorna, det är nämligen så att dem består först av 7 valfria siffror och sedan en kontrollsiffra.
För att det skall vara ett giltigt fraktsedelsnummer så kontrolleras den åttonde siffran med modulus 7.
ex:
1234567
Modulus på 12345675 blir 5
således blir fraktsedelsnummret 12345675 + prefix i början.
dim m as match = regex.match(str, "\d{3}\-(\d{7})(\d)")
if m.success then
dim n as integer = convert.toint32(m.groups(1).tostring())
dim c as integer = convert.toint32(m.groups(2).tostring())
if n % 7 = c then
' Allt verkar stämma!
else
' Kontrollsiffran stämmer ej
end if
else
' Felaktigt data inmatat
end if
Problemet är att det inte alltid är en 5:a i slutet, utan den använder sig av modulus på de sju första siffrorna, så det kommer att variera från 1-7 (tror jag)