User:Steve0Greatness/drafts/Regular expression: Difference between revisions

From PenguinMod Wiki
Jump to navigation Jump to search
Content added Content deleted
(oh, a nowiki was needed here)
(Add caption to table)
Line 7: Line 7:


{| class="wikitable"
{| class="wikitable"
|+ Syntax Reference
|-
|-
! Symbol(s) !! Name !! Description || Example
! Symbol(s) !! Name !! Description !! Example
|-
|-
! colspan="4" | Groups and backreferences
! colspan="4" | Groups and backreferences

Revision as of 08:25, 2 July 2024

Lorem ipsum first paragraph where every consonant-vowel pair is highlighted
The alternating yellow and orange highlights show results for the following regexp pattern: /[a-z](?<![aeiou])[aeiou]/gi (any consonant-vowel pair)

Regular expression, often shorted to regex, is a standard

Syntax

x, y, and z when used under symbols are placeholders for text. Capital Xs, Ys, and Zs are used for number placeholders.

Syntax Reference
Symbol(s) Name Description Example
Groups and backreferences
(x) Capture group Separates the content in the output. "Foo Bar" /(Foo)|(Bar)/g -> [ "Foo", "Bar" ]
(?:x) Non-capture group Acts as if the parentheses were not there "Foo Bar" /(?:Foo)|(?:Bar)/g -> [ "Foo Bar" ]
(?<y>x) Named capture group Equivalent to (x), except it remembers the content used. "Foo Bar" /(?<F>Foo)|(?<B>Bar)/g -> [ "Foo", "Bar" ]
\k<y> Named backreference References a previous named capture group, note that \k is literal "Foo Foo" /(?<Foo>Foo)\s\k<Foo>/g -> [ "Foo Foo" ]
Character classes
[x-z] Character class Matches every letter or number from x to z. "Foo Bar" /[a-f]/gi -> [ "F", "B", "a" ]
[xyz] References either x, y, or z "Foo Bar" /[FB]/g -> [ "F", "B" ]
[^x-z] Negated character class Matches every letter or number not from x to z. "Foo Bar" /[^a-f]/gi -> [ "o", "o", " ", "r" ]
[^xyz] References characters that aren't x, y, or z "Foo Bar" /[^FB]/g -> [ "o", "o", " ", "a", "r" ]
. Wildcard Matches every character besides line terminators. Line terminators include \n, \r, \u2028, and \u2029 "Foo Bar" /./g -> [ "F", "o", "o", " ", "B", "a", "r" ]
x|y Disjunction Match something or something else. "Foo Bar" /Foo|Bar/g -> [ "Foo", "Bar" ]
\ Escape character If a character is reserved for regex, such as *, |, or .. Note that this is itself a reserve character, so to match for it, you need to use \\. "Foo.bar apple 78.9 banana" /[A-Za-z0-9]*\.[A-Za-z0-9]*/g -> [ "Foo.bar", "78.9" ]

Flags

Flag Name Description
g global Search all of a string, rather than stopping once you find an occurrence.

See also