(?:2131|1800)[ \-,]?\d{4}[ \-,]?\d{4}[ \-,]?\d{3}|35\d{2}[ \-,]?[ \-,]?\d{4}[ \-,]?\d{4}[ \-,]?\d{4}
#+ beginning with 2131 or 1800 have 15 digits. JCB cards beginning with 35 have 16 digits.
2131584623873479
1800294876531648
3537359652088833
#+ number string
<sometag1>somedata</sometag1><sometag2><num>2131584623873479</num>
<sometag1>somedata</sometag1><sometag2><num>1800294876531648</num>
<sometag1>somedata</sometag1><sometag2><num>3537359652088833</num>
#+ with spaces
<sometag1>somedata</sometag1><sometag2><num>2131584623873479</num>
<sometag1>somedata</sometag1><sometag2><num>1800294876531648</num>
<sometag1>somedata</sometag1><sometag2><num>3537359652088833</num>
#+ with dash
<sometag1>somedata</sometag1><sometag2><num> 3004-287705-9846</num>
<sometag1>somedata</sometag1><sometag2><num> 3659-295198-4335</num>
<sometag1>somedata</sometag1><sometag2><num> 3815-287032-4798</num>
#+ with comma
<sometag1>somedata</sometag1><sometag2><num>3004,287705,9846</num>
<sometag1>somedata</sometag1><sometag2><num>3659,295198,4335</num>
<sometag1>somedata</sometag1><sometag2><num>3815,287032,4798</num>
#+ bigger numbers
<sometag1>somedata</sometag1><sometag2><num>344990030042877059846969593565566</num>
#+ bigger numbers with space
<sometag1>somedata</sometag1><sometag2><num>3449 9003004 287705 9846969 593565 566</num>
#- SHOULD NOT MATCH with other starting numbers
21342454657764
37592951984335
39152870324798
<sometag1>somedata</sometag1><sometag2><num>3549 900969 593565 566</num>