Вопросительный знак (?), плюс (+) и звездочка (*)

Вопросительный знак (?)

Вопросительный знак (?) в регулярных выражениях означает, что предшествующий ему символ может присутствовать или отсутствовать в строке.

Например, регулярному выражению 10? соответствуют в том числе следующие строки:

  • 1
  • 10
Пример

Допустим, нам нужно, чтобы регулярное выражение соответствовало всем IP-адресам, у которых последняя часть содержит одну или две цифры.

Так, регулярному выражению 216\.239\.32\.\d\d? соответствуют в том числе следующие строки:

  • 216.239.32.2
  • 216.239.32.34

В этом примере используется обратная косая черта, чтобы точка не интерпретировалась как специальный символ, а сочетание символов \d означает "любая цифра".

Плюс (+)

Плюс (+) в регулярных выражениях означает, что предшествующий символ должен присутствовать и может повторяться несколько раз подряд.

Например, регулярному выражению 10+ соответствуют в том числе следующие строки:

  • 10
  • 100
  • 1000
  • ...и т. д.
Пример

Допустим, нам нужно, чтобы регулярное выражение соответствовало всем IP-адресам, у которых последняя часть содержит одну или несколько цифр.

Так, регулярному выражению 216\.239\.32\.\d+ соответствуют в том числе следующие строки:

  • 216.239.32.2
  • 216.239.32.34
  • 216.239.32.567

В этом примере используется обратная косая черта, чтобы точка не интерпретировалась как специальный символ, а сочетание символов \d означает "любая цифра".

Звездочка (*)

Звездочка (*) в регулярных выражениях означает, что предшествующий символ может присутствовать, отсутствовать или повторяться несколько раз подряд.

Например, регулярному выражению 10* соответствуют в том числе следующие строки:

  • 1
  • 10
  • 100
  • 1000
  • ...и т. д.
Пример

Допустим, нам нужно, чтобы регулярное выражение соответствовало всем IP-адресам, у которых последняя часть содержит одну или несколько цифр.

Так, регулярному выражению 216\.239\.32\.\d* соответствуют в том числе следующие строки:

  • 216.239.32.2
  • 216.239.32.34
  • 216.239.32.567

В этом примере используется обратная косая черта, чтобы точка не интерпретировалась как специальный символ, а сочетание символов \d означает "любая цифра".

Если в регулярном выражении звездочка следует за точкой (.*), то ему будут соответствовать все строки, где на месте этого сочетания знаков находится абсолютно любая последовательность символов (или вообще ничего). Точка означает "любой символ", а следующая за ней звездочка означает "может повторяться сколько угодно раз или вообще отсутствовать". Так можно создать регулярное выражение, которому будут соответствовать все URI с определенным началом и окончанием, и любой серединой. Например, регулярному выражению /mens/.*html соответствуют в том числе следующие строки:

  • /mens/shirts/oxford.html
  • /mens/shirts/oxford/shortsleeve.html

Эта информация оказалась полезной?

Как можно улучшить эту статью?
Поиск
Очистить поле поиска
Закрыть поиск
Приложения Google
Главное меню
15395251230953453646
true
Поиск по Справочному центру
true
true
true
true
true
69256
false
false