2013-02-25 5 views
0

Я не могу понять, что вопрос означает в регулярном выражении в flex. Например, в моих заметках говорится:Вопросительный знак (?) В flex

[a-z]? соответствует 0 или 1 повторению (используется для дополнительных частей).

и другой пример говорит:

- [1-9] [0-9] * соответствует любому ненулевому целому числу?.

Я не понимаю, почему эти регулярные выражения соответствуют их объяснениям. Может кто-нибудь объяснить эти два?

+0

Не могли бы вы быть немного более конкретно о том, что осталось объяснить? Что вы не понимаете о «?» Соответствует 0 или 1 повторению (используется для дополнительных частей) »? – sepp2k

ответ

2

? не является специфичным для гибки, он является частью большинства двигателей регулярных выражений. Это в основном означает, что все, что приходит до ?, равно необязательно, поэтому на самом деле это не обязательно.

В частности это означает «Нуль или один из предшествующих элементов».

Примеры:

Nov(ember)?    // matches November or Nov 
Feb(ruary)? 23(rd)?  // matches Feb 23 or February 23 or February 23rd or Feb 23rd 
colou?r     // matches color or colour 
+0

спасибо, я понял – yrazlik

Смежные вопросы