Я пытаюсь понять следующее регулярное выражение квантор ( является лишь примерным маркер здесь):Как сделать {n}? и {n} отличаются?
a{n}?
Как знак вопроса влияет на матч выше выражения? И как он отличается от следующего?
a{n}
я ожидал бы шаблон aa{1}?a
, чтобы соответствовать как aaa
и aa
, например. Пока он соответствует aaa
, aa
является не матч. Шаблон a(a{1})?a
действительно соответствует обоим, поэтому круглые скобки действительно имеют значение здесь.
Примечание: В статье MSDN Quantifiers in Regular Expressions состояния для обоих:
The {n} quantifier matches the preceding element exactly n times, where n is any integer.
Для {n}?
, он добавляет следующее, не слишком полезной части:
It is the lazy counterpart of the greedy quantifier {n}+.
Что это связано с C#? –
@AustinHenley может быть, он имеет в виду это только в контексте C# Regex. – TheVillageIdiot
Значок вопроса может сделать переменные обнуляемыми. – Max