Skip to content

Quantifiers

Mark Whitaker edited this page Nov 18, 2019 · 3 revisions

Contents

Overview

Quantifiers help you match a pattern more than once, many times, or not at all. For example:

  1. You want to find a string of consecutive digits, with at least one digit and no maximum.
  2. You want to find all the words of five letters or more within a string.

With RegexBuilder you do this by passing a RegexQuantifier object to an element or EndGroup() method. For example:

var regex = new RegexBuilder()
                .Digit(RegexQuantifier.OneOrMore)
                .BuildRegex();

will give us a regex that matches one or more consecutive digits, and:

var regex = new RegexBuilder()
                .Letter(RegexQuantifier.AtLeast(5))
                .BuildRegex();

will give us a regex matching at least 5 consecutive letters.

Quantifiers can be passed into any element-matching method, or to EndGroup() in which case they apply to the whole group. They are specified using the static public properties and methods of the RegexQuantifier class.

Properties

Quantifier Matches Raw regex equivalent
ZeroOrMore Any number of occurrences of the element or group, including none at all. *
OneOrMore At least one occurrence of the element or group, but no maximum. +
ZeroOrOne Either zero or one occurrence of the element or group. For example, .Text("http").Text("s", RegexQuantifier.ZeroOrOne) will match both "http" and "https". ?

Methods

Quantifier Matches Raw regex equivalent
Exactly(int times) Exactly the specified number of occurrences of the element or group. {x}
AtLeast(int minimum) At least the specified minimum number of occurrences of the element or group. {x,}
NoMoreThan(int maximum) No more than the specified maximum number of occurrences of the element or group. {0,x}
Between(int minimum, int maximum) At least the specified minimum, and no more than the specified maximum, number of occurrences of the element or group. {x,y}

NuGet Version and Downloads count

Clone this wiki locally