Оператор *
- это то, что называется «жадным» выражением.Он будет использовать столько символов, сколько сможет.Это означает, что 11*
будет захватывать 11
в 110
, оставляя только 0
, что не соответствует ни 11*
, ни 0?10*
.Я ни в коем случае не эксперт, но я использую регулярные выражения в течение 15 лет и все еще зацикливаюсь на таких вещах.
Если вы хотите слишком много подробностей по этому вопросу, отметьте этоout: https://www.rexegg.com/regex-quantifiers.html
Вы не сказали, что вы хотите сопоставить, но кажется, что вы хотите сопоставить любую итерацию с нулями и единицами, поэтому [01]*
может показаться вашей лучшей ставкой.