Пожалуйста, дайте нам по крайней мере 10 возможных подходящих строк того, что вы хотите принять, и 10 из того, что вы хотите отклонить, и скажите нам, нужно ли это из-за какой-то последовательности или его порядок не имеет значения. Таким образом, мы можем сделать надежное регулярное выражение.
К настоящему времени все, что я могу предложить, это:
^[1-9]+\|{1}\*+,*$
Этот RegEx был протестирован с этими образцами строк, принимая их:
56421|*****,,,
2|*********,,,
1|*
7|*,
18|****
123456789|*
12|********,,
1516332|**,,,
111111|*
6|*****,,,,
И это было проверено с этими образцами строк, отклоняя их:
10|*,
2***525*|*****,,,
123456,15,22*66*****4|,,,*167
1|2*3,4,5,6*
,*|173,
|*,
||12211
12
1|,*
1233|54|***,,,,
Я предполагаю, что ваш заказ строг, и все условия применяются одновременно.