Как оценить это регулярное выражение?
Я просто изучаю регулярные выражения, поэтому я просто хочу убедиться, что мое понимание верно.
01*
означает 0, за которыми следуют 0 или более повторений из 1.1* + 01*
означает 0 или более повторений 1 ИЛИ 0, за которыми следуют 0 или более повторений 1.
Я прав или мне чего-то не хватает? Благодарю.
3 ответа
Это кажется правильным для меня. (Даже думал, что я не одаренный в регулярных выражениях сам)
Но вот хороший урок, который вы можете проверить. Этот я тоже нашел полезным.
Знак + в регулярном выражении означает не ИЛИ, а "один или несколько из"
Поэтому вместо 1* + 01* вы бы сказали:
1*|01*
что будет означать либо строку (возможно, нулевой длины), либо ноль, за которым следует строка (возможно, нулевой длины).
Так что это будет соответствовать любому из:
1
1111
0
011
Но ни один из:
101
110
100001
001
00
Оператор OR (вертикальная труба) имеет низкий приоритет.
Я в регулярных выражениях, поэтому я уверен, что вы совершенно правы, вы также можете перейти по этой ссылке http://regexone.com/