2 # empty w/re not matching empty
10 # empty w/re matching empty
23 param => '(?:^|[^\d])(\d+)(?:[^\d]|$)',
28 ### No digits in match
37 ### Too generic RE w/no matchs (Luhn will be called until all fail)
51 param => '(?:^|[^\d])(\d+)(?:[^\d]|$)',
52 input => "5484605089158216",
58 param => '(?:^|[^\d])(\d+)(?:[^\d]|$)',
59 input => "5574407071707154",
65 param => '(?:^|[^\d])(\d+)(?:[^\d]|$)',
66 input => "5351341509714210",
72 param => '(?:^|[^\d])(\d+)(?:[^\d]|$)',
73 input => "5585166974020647",
79 param => '(?:^|[^\d])(\d+)(?:[^\d]|$)',
80 input => "5492180332479256",
86 param => '(?:^|[^\d])(\d+)(?:[^\d]|$)',
87 input => "5111178142162816",
93 param => '(?:^|[^\d])(\d+)(?:[^\d]|$)',
94 input => "5511424748431031",
100 param => '(?:^|[^\d])(\d+)(?:[^\d]|$)',
101 input => "5259964281562326",
107 param => '(?:^|[^\d])(\d+)(?:[^\d]|$)',
108 input => "5138342589974385",
114 param => '(?:^|[^\d])(\d+)(?:[^\d]|$)',
115 input => "5362069587634979",
122 param => '(?:^|[^\d])(\d+)(?:[^\d]|$)',
123 input => "4916545704601136",
129 param => '(?:^|[^\d])(\d+)(?:[^\d]|$)',
130 input => "4539501231827691",
136 param => '(?:^|[^\d])(\d+)(?:[^\d]|$)',
137 input => "4556338049595394",
143 param => '(?:^|[^\d])(\d+)(?:[^\d]|$)',
144 input => "4929326438756024",
150 param => '(?:^|[^\d])(\d+)(?:[^\d]|$)',
151 input => "4485432027326322",
157 param => '(?:^|[^\d])(\d+)(?:[^\d]|$)',
158 input => "4532104980682081",
164 param => '(?:^|[^\d])(\d+)(?:[^\d]|$)',
165 input => "4485974616349298",
171 param => '(?:^|[^\d])(\d+)(?:[^\d]|$)',
172 input => "4916580487207199",
178 param => '(?:^|[^\d])(\d+)(?:[^\d]|$)',
179 input => "4532009746910413",
185 param => '(?:^|[^\d])(\d+)(?:[^\d]|$)',
186 input => "4024007144622932",
193 param => '(?:^|[^\d])(\d+)(?:[^\d]|$)',
194 input => "4556324125126",
200 param => '(?:^|[^\d])(\d+)(?:[^\d]|$)',
201 input => "4067482954141",
207 param => '(?:^|[^\d])(\d+)(?:[^\d]|$)',
208 input => "4532402654980",
214 param => '(?:^|[^\d])(\d+)(?:[^\d]|$)',
215 input => "4539709679875",
221 param => '(?:^|[^\d])(\d+)(?:[^\d]|$)',
222 input => "4024007182237",
229 param => '(?:^|[^\d])(\d+)(?:[^\d]|$)',
230 input => "343918934573386",
236 param => '(?:^|[^\d])(\d+)(?:[^\d]|$)',
237 input => "344881778330710",
243 param => '(?:^|[^\d])(\d+)(?:[^\d]|$)',
244 input => "345439478558905",
250 param => '(?:^|[^\d])(\d+)(?:[^\d]|$)',
251 input => "346465614421111",
257 param => '(?:^|[^\d])(\d+)(?:[^\d]|$)',
258 input => "372263817755618",
265 param => '(?:^|[^\d])(\d+)(?:[^\d]|$)',
266 input => "6011402777433576",
272 param => '(?:^|[^\d])(\d+)(?:[^\d]|$)',
273 input => "6011890045362751",
279 param => '(?:^|[^\d])(\d+)(?:[^\d]|$)',
280 input => "6011439091242416",
287 param => '(?:^|[^\d])(\d+)(?:[^\d]|$)',
288 input => "30162519308318",
294 param => '(?:^|[^\d])(\d+)(?:[^\d]|$)',
295 input => "30311556856867",
301 param => '(?:^|[^\d])(\d+)(?:[^\d]|$)',
302 input => "36850112043985",
309 param => '(?:^|[^\d])(\d+)(?:[^\d]|$)',
310 input => "201427829075664",
316 param => '(?:^|[^\d])(\d+)(?:[^\d]|$)',
317 input => "201434726660424",
323 param => '(?:^|[^\d])(\d+)(?:[^\d]|$)',
324 input => "201453368666085",
331 param => '(?:^|[^\d])(\d+)(?:[^\d]|$)',
332 input => "210091499965007",
338 param => '(?:^|[^\d])(\d+)(?:[^\d]|$)',
339 input => "210072739882947",
345 param => '(?:^|[^\d])(\d+)(?:[^\d]|$)',
346 input => "180013970064072",
353 param => '(?:^|[^\d])(\d+)(?:[^\d]|$)',
354 input => "3096676276259096",
360 param => '(?:^|[^\d])(\d+)(?:[^\d]|$)',
361 input => "3158726040010070",
367 param => '(?:^|[^\d])(\d+)(?:[^\d]|$)',
368 input => "3096531217494742",
375 param => '(?:^|[^\d])(\d+)(?:[^\d]|$)',
376 input => "869974262335041",
382 param => '(?:^|[^\d])(\d+)(?:[^\d]|$)',
383 input => "869905005856398",
389 param => '(?:^|[^\d])(\d+)(?:[^\d]|$)',
390 input => "869950500085465",
398 param => '(?:^|[^\d])(\d+)(?:[^\d]|$)',
399 input => "1234567890012345",
403 ### Test regex + Luhn
404 # from http://www.merriampark.com/anatomycc.htm
408 param => '(?:^|[^\d])(\d{4}\-?\d{4}\-?\d{2}\-?\d{2}\-?\d{1,4})(?:[^\d]|$)',
409 input => "4417123456789113",
415 param => '(?:^|[^\d])(\d{4}\-?\d{4}\-?\d{2}\-?\d{2}\-?\d{1,4})(?:[^\d]|$)',
416 input => "4408041234567893",
422 param => '(?:^|[^\d])(\d{4}\-?\d{4}\-?\d{2}\-?\d{2}\-?\d{1,4})(?:[^\d]|$)',
423 input => "4408041234567890",
429 param => '(?:^|[^\d])(\d{4}\-?\d{4}\-?\d{2}\-?\d{2}\-?\d{1,4})(?:[^\d]|$)',
430 input => "4417123456789112",
437 param => '(?:^|[^\d])(\d{4}\-?\d{4}\-?\d{2}\-?\d{2}\-?\d{1,4})(?:[^\d]|$)',
438 input => "a5484605089158216",
444 param => '(?:^|[^\d])(\d{4}\-?\d{4}\-?\d{2}\-?\d{2}\-?\d{1,4})(?:[^\d]|$)',
445 input => "a5484605089158216b",
451 param => '(?:^|[^\d])(\d{4}\-?\d{4}\-?\d{2}\-?\d{2}\-?\d{1,4})(?:[^\d]|$)',
452 input => "5484605089158216b",
459 param => '(?:^|[^\d])(\d{4}\-?\d{4}\-?\d{2}\-?\d{2}\-?\d{1,4})(?:[^\d]|$)',
460 input => "5484-6050-8915-8216",
463 # changed digit from table above
467 param => '(?:^|[^\d])(\d{4}\-?\d{4}\-?\d{2}\-?\d{2}\-?\d{1,4})(?:[^\d]|$)',
468 input => "5484605089158217",
474 param => '(?:^|[^\d])(\d{4}\-?\d{4}\-?\d{2}\-?\d{2}\-?\d{1,4})(?:[^\d]|$)',
475 input => "5574407071807154",
482 param => '(?:^|[^\d])(\d{4}\-?\d{4}\-?\d{2}\-?\d{2}\-?\d{1,4})(?:[^\d]|$)',
483 input => "5-484-6050-8915-8216",
489 param => '(?:^|[^\d])(\d{4}\-?\d{4}\-?\d{2}\-?\d{2}\-?\d{1,4})(?:[^\d]|$)',
490 input => "5484 6050 8915 8216",
493 # not on digits boundary
497 param => '(?:^|[^\d])(\d{4}\-?\d{4}\-?\d{2}\-?\d{2}\-?\d{1,4})(?:[^\d]|$)',
498 input => "15484605089158216",
504 param => '(?:^|[^\d])(\d{4}\-?\d{4}\-?\d{2}\-?\d{2}\-?\d{1,4})(?:[^\d]|$)',
505 input => "154846050891582162",
511 param => '(?:^|[^\d])(\d{4}\-?\d{4}\-?\d{2}\-?\d{2}\-?\d{1,4})(?:[^\d]|$)',
512 input => "54846050891582162",