UPC: Difference between revisions

56 bytes removed ,  4 years ago
m
m (→‎{{header|zkl}}: broken comment)
m (→‎{{header|zkl}}: mouse nuts)
Line 344:
r
}</lang>
Or, if you like way too long regular expressions and having the RE engine:
<lang zkl>var upcRE = RegExp(String("_"*9, "+#_#",
do lots of backtracking:
<lang zkl>var upcRE = (String("_"*9, "+#_#",
lhd.keys.concat("|","(",")")*6, "_#_#_",
rhd.keys.concat("|","(",")")*6, "#_#", "_"*9) : RegExp(_)),
digits=lhd.copy().extend(rhd);
 
fcn parseBarCode2parseBarCode(barcode){ // --> 12 digits
if(not (upcRE.search(barcode) or upcRE.search(barcode.reverse()))) return(False);
upcRE.matched[1,*] // ( (a,b), "_#_####","_##___#", 10 more digit patterns )
Anonymous user