mirror of
https://github.com/ziishaned/learn-regex.git
synced 2025-08-06 19:48:07 -04:00
Add quantifiers
This commit is contained in:
parent
6ac2788d47
commit
05a7e907ee
44
README.md
44
README.md
@ -35,7 +35,7 @@ A regular expression is just a pattern of letters and digits that we used to sea
|
|||||||
`cat` means: the letter `c`, followed by the letter `a`, followed by the letter `t`.
|
`cat` means: the letter `c`, followed by the letter `a`, followed by the letter `t`.
|
||||||
|
|
||||||
<pre>
|
<pre>
|
||||||
"cat" => The <strong><a href="#learn-regex">cat</a></strong> sat on the mat
|
"cat" => The <a href="#learn-regex"><strong>cat</strong></a> sat on the mat
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
The regular expression `123` matches the string "123". The regular expression is matched against an input string by comparing each
|
The regular expression `123` matches the string "123". The regular expression is matched against an input string by comparing each
|
||||||
@ -43,7 +43,7 @@ character in the regular expression to each character in the input string, one a
|
|||||||
case-sensitive so the regular expression `Cat` would not match the string "cat".
|
case-sensitive so the regular expression `Cat` would not match the string "cat".
|
||||||
|
|
||||||
<pre>
|
<pre>
|
||||||
"Cat" => The cat sat on the <strong><a href="#learn-regex">Cat</a></strong>
|
"Cat" => The cat sat on the <a href="#learn-regex"><strong>Cat</strong></a>
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
## 2. Meta Characters
|
## 2. Meta Characters
|
||||||
@ -60,7 +60,7 @@ The meta character are as follows:
|
|||||||
|*|Matches 0 or more repetitions of the preceding symbol.|
|
|*|Matches 0 or more repetitions of the preceding symbol.|
|
||||||
|+|Matches 1 or more repetitions of the preceding symbol.
|
|+|Matches 1 or more repetitions of the preceding symbol.
|
||||||
|?|Makes the preceding symbol optional.|
|
|?|Makes the preceding symbol optional.|
|
||||||
|{n}|Braces. Matches “n” repetitions of the preceding symbol.|
|
|{n,m}|Braces. Matches at least "n" but not more than "m" repetitions of the preceding symbol.|
|
||||||
|(xyz)|Character group. Matches the characters xyz in that exact order.|
|
|(xyz)|Character group. Matches the characters xyz in that exact order.|
|
||||||
|||Alternation. Matches either the characters before or the characters after the symbol.|
|
|||Alternation. Matches either the characters before or the characters after the symbol.|
|
||||||
|\|Escapes the next character. This allows you to match reserved characters <code>[ ] ( ) { } . * + ? ^ $ \ |</code>|
|
|\|Escapes the next character. This allows you to match reserved characters <code>[ ] ( ) { } . * + ? ^ $ \ |</code>|
|
||||||
@ -74,7 +74,7 @@ or new line characters. For example the regular expression `.ar` means: any char
|
|||||||
letter `r`.
|
letter `r`.
|
||||||
|
|
||||||
<pre>
|
<pre>
|
||||||
".ar" => The <strong><a href="#learn-regex">car</a></strong> <strong><a href="#learn-regex">par</a></strong>ked in the <strong><a href="#learn-regex">gar</a></strong>age.
|
".ar" => The <a href="#learn-regex"><strong>car</strong></a> <a href="#learn-regex"><strong>par</strong></a>ked in the <a href="#learn-regex"><strong>gar</strong></a>age.
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
## 2.2 Character set
|
## 2.2 Character set
|
||||||
@ -84,13 +84,13 @@ specify the characters range. The order of the character range inside square bra
|
|||||||
expression `[Tt]he` means: an uppercase `T` or lowercase `t`, followed by the letter `h`, followed by the letter `e`.
|
expression `[Tt]he` means: an uppercase `T` or lowercase `t`, followed by the letter `h`, followed by the letter `e`.
|
||||||
|
|
||||||
<pre>
|
<pre>
|
||||||
"[Tt]he" => <strong><a href="#learn-regex">The</a></strong> car parked in <strong><a href="#learn-regex">the</a></strong> garage.
|
"[Tt]he" => <a href="#learn-regex"><strong>The</strong></a> car parked in <a href="#learn-regex"><strong>the</strong></a> garage.
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
Just like above example the regular expression `ar[.]` means: an lowercase character `a`, followed by letter `r`, followed by any character.
|
Just like above example the regular expression `ar[.]` means: an lowercase character `a`, followed by letter `r`, followed by any character.
|
||||||
|
|
||||||
<pre>
|
<pre>
|
||||||
"ar[.]" => The car p<strong><a href="#learn-regex">ark</a></strong>ed in the g<strong><a href="#learn-regex">ara</a></strong>ge.
|
"ar[.]" => The car p<a href="#learn-regex"><strong>ark</strong></a>ed in the g<a href="#learn-regex"><strong>ara</strong></a>ge.
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
### 2.2.1 Negated character set
|
### 2.2.1 Negated character set
|
||||||
@ -100,7 +100,7 @@ character set. For example the regular expression `[^c]ar` means: any character
|
|||||||
the letter `r`.
|
the letter `r`.
|
||||||
|
|
||||||
<pre>
|
<pre>
|
||||||
"[^c]ar" => The car <strong><a href="#learn-regex">par</a></strong>ked in the <strong><a href="#learn-regex">gar</a></strong>age.
|
"[^c]ar" => The car <a href="#learn-regex"><strong>par</strong></a>ked in the <a href="#learn-regex"><strong>gar</strong></a>age.
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
|
|
||||||
@ -116,7 +116,7 @@ of preceding lowercase character `a`. But if it apperas after a character set or
|
|||||||
character set. For example the regular expression `[a-z]*` means: any number of lowercase letters in a row.
|
character set. For example the regular expression `[a-z]*` means: any number of lowercase letters in a row.
|
||||||
|
|
||||||
<pre>
|
<pre>
|
||||||
"[a-z]*" => <strong><a href="#learn-regex">The</a></strong> <strong><a href="#learn-regex">car</a></strong> <strong><a href="#learn-regex">parked</a></strong> <strong><a href="#learn-regex">in</a></strong> <strong><a href="#learn-regex">the</a></strong> <strong><a href="#learn-regex">garage</a></strong> #21.
|
"[a-z]*" => <a href="#learn-regex"><strong>The</strong></a> <a href="#learn-regex"><strong>car</strong></a> <a href="#learn-regex"><strong>parked</strong></a> <a href="#learn-regex"><strong>in</strong></a> <a href="#learn-regex"><strong>the</strong></a> <a href="#learn-regex"><strong>garage</strong></a> #21.
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
The `*` symbol can be used with the meta character `.` to match any string of characters `.*`. The `*` symbol can be used with the
|
The `*` symbol can be used with the meta character `.` to match any string of characters `.*`. The `*` symbol can be used with the
|
||||||
@ -125,7 +125,7 @@ spaces, followed by lowercase character `c`, followed by lowercase character `a`
|
|||||||
zero or more spaces.
|
zero or more spaces.
|
||||||
|
|
||||||
<pre>
|
<pre>
|
||||||
"\s*cat\s*" => The fat<strong><a href="#learn-regex"> cat </a></strong>sat on the <strong><a href="#learn-regex">cat</a></strong>.
|
"\s*cat\s*" => The fat<a href="#learn-regex"><strong> cat </strong></a>sat on the <a href="#learn-regex"><strong>cat</strong></a>.
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
### 2.3.2 The Plus
|
### 2.3.2 The Plus
|
||||||
@ -134,7 +134,7 @@ The symbol `+` matches one or more repetitions of the preceding character. For e
|
|||||||
letter `c`, followed by any number of character, followed by the lowercase character `t`.
|
letter `c`, followed by any number of character, followed by the lowercase character `t`.
|
||||||
|
|
||||||
<pre>
|
<pre>
|
||||||
"c.+t" => The fat <strong><a href="#learn-regex">cat sat on the mat</a></strong>.
|
"c.+t" => The fat <a href="#learn-regex"><strong>cat sat on the mat</strong></a>.
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
### 2.3.3 The Question Mark
|
### 2.3.3 The Question Mark
|
||||||
@ -144,9 +144,29 @@ the preceding character. For example the regular expression `[T]?he` means: Opti
|
|||||||
character `h`, followed by the lowercase character `e`.
|
character `h`, followed by the lowercase character `e`.
|
||||||
|
|
||||||
<pre>
|
<pre>
|
||||||
"[T]he" => <strong><a href="#learn-regex">The</a></strong> car is parked in the garage.
|
"[T]he" => <a href="#learn-regex"><strong>The</strong></a> car is parked in the garage.
|
||||||
</pre>
|
</pre>
|
||||||
<pre>
|
<pre>
|
||||||
"[T]?he" => <strong><a href="#learn-regex">The</a></strong> car is parked in t<strong><a href="#learn-regex">he</a></strong> garage.
|
"[T]?he" => <a href="#learn-regex"><strong>The</strong></a> car is parked in t<a href="#learn-regex"><strong>he</strong></a> garage.
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
|
## 2.4 Braces
|
||||||
|
|
||||||
|
In regular expression braces that are also called quantifiers used to specify the number of times that a group of character or a
|
||||||
|
character can be repeated. For example the regular expression `[0-9]{2,3}` means: Match at least 2 digits but not more than 3 (
|
||||||
|
characters in the range of 0 to 9).
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
"[0-9]{2}" => The number was 9.<a href="#learn-regex"><strong>999</strong></a>7 but we rounded it off to <a href="#learn-regex"><strong>10</strong></a>.0.
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
We can leave out the second number. For example the regular expression `[0-9]{2,}` means: Match 2 or more digits. If we also remove
|
||||||
|
the comma the regular expression `[0-9]{2}` means: Match exactly 2 digits.
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
"[0-9]{2,}" => The number was 9.<a href="#learn-regex"><strong>9997</strong></a> but we rounded it off to <a href="#learn-regex"><strong>10</strong></a>.0.
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
"[0-9]{2}" => The number was 9.<a href="#learn-regex"><strong>99</strong></a><a href="#learn-regex"><strong>97</strong></a> but we rounded it off to <a href="#learn-regex"><strong>10</strong></a>.0.
|
||||||
|
</pre>
|
Loading…
x
Reference in New Issue
Block a user