Regular Expressions 101

Save & Share

  • Regex Version: ver. 1
  • Update Regex
    ctrl+⇧+s
  • Save new Regex
    ctrl+s
  • Add to Community Library

Flavor

  • PCRE2 (PHP >=7.3)
  • PCRE (PHP <7.3)
  • ECMAScript (JavaScript)
  • Python
  • Golang
  • Java 8
  • .NET 7.0 (C#)
  • Rust
  • Regex Flavor Guide

Function

  • Match
  • Substitution
  • List
  • Unit Tests

Tools

Sponsors
There are currently no sponsors. Become a sponsor today!
An explanation of your regex will be automatically generated as you type.
Detailed match information will be displayed here automatically.
  • All Tokens
  • Common Tokens
  • General Tokens
  • Anchors
  • Meta Sequences
  • Quantifiers
  • Group Constructs
  • Character Classes
  • Flags/Modifiers
  • Substitution
  • A single character of: a, b or c
    [abc]
  • A character except: a, b or c
    [^abc]
  • A character in the range: a-z
    [a-z]
  • A character not in the range: a-z
    [^a-z]
  • A character in the range: a-z or A-Z
    [a-zA-Z]
  • Any single character
    .
  • Alternate - match either a or b
    a|b
  • Any whitespace character
    \s
  • Any non-whitespace character
    \S
  • Any digit
    \d
  • Any non-digit
    \D
  • Any word character
    \w
  • Any non-word character
    \W
  • Non-capturing group
    (?:...)
  • Capturing group
    (...)
  • Zero or one of a
    a?
  • Zero or more of a
    a*
  • One or more of a
    a+
  • Exactly 3 of a
    a{3}
  • 3 or more of a
    a{3,}
  • Between 3 and 6 of a
    a{3,6}
  • Start of string
    ^
  • End of string
    $
  • A word boundary
    \b
  • Non-word boundary
    \B

Regular Expression

/
/
gm

Test String

Code Generator

Generated Code

// include the latest version of the regex crate in your Cargo.toml extern crate regex; use regex::Regex; fn main() { let regex = Regex::new(r"(?m)^\*:?[^\n:]*: *([^\|\}\)\n]+\|([^\|\}\)\n]+))").unwrap(); let string = "* Abenaki: {{t|abe|anaskemen}} {{qualifier|red or black oak acorn; literally \"oak berry\"}}, {{t|abe|anaskebagôn}} {{qualifier|red or black oak acorn; literally \"oak nut\"}}, {{t|abe|wachil}} {{qualifier|white oak acorn}} * Adyghe: {{t|ady|мышкӏу}} * Afrikaans: {{t+|af|akker}} * Albanian: {{t+|sq|lende|f}}, {{t+|sq|gogël|f}} * Arabic: {{t|ar|بَلُّوط|m}} (''collective''), {{t|ar|بَلُّوطَة|f}} (''singulative'') *: Moroccan Arabic: {{t|ary|بلوط|m|tr=belloṭ|alt=بلّوط|sc=Arab}} (''collective''), {{t|ary|بلوطة|f|tr=belloṭa|alt=بلّوطة|sc=Arab}} (''singulative'') * Aragonese: {{t+|an|ballota|f}} * Armenian: {{t+|hy|կաղին}} *: Middle Armenian: {{t|axm|պալուտ}} * Aromanian: {{t|rup|gljindã|f}}, {{t|rup|docãrã|f}}, {{t|rup|vãlani|f}} * Asturian: {{t|ast|llande|m}}, {{t|ast|abeyota|f}}, {{t|ast|abellota|f}} * Azerbaijani: {{t|az|palıd qozası}} * Basque: {{t+|eu|ezkur}} * Belarusian: {{t|be|жо́луд|m|sc=Cyrl}} * Breton: {{t+|br|mez|f|alt=mezenn}} * Bulgarian: {{t+|bg|жъ̀лъд|m}} * Catalan: {{t+|ca|gla|f}} * Catawba: {{t|chc|tumo}} {{qualifier|plural}} * Central Mazahua: {{t|maz|løjø}} * Central Sierra Miwok: {{t|csm|watýkˑa-}}, {{t|csm|watýk·a-}} * Cherokee: {{t|chr|ᎬᎴ|sc=Cher}} * Chinese: *: Cantonese: {{t|yue|橡子|tr=zoeng6 zi2|sc=Hani}} *: Mandarin: {{t+|cmn|橡子|tr=xiàngzǐ}}, {{t|cmn|橡果|tr=xiàngguǒ|sc=Hani}} * Classical Nahuatl: {{t|nci|āhuacuauhtomatl}}, {{t|nci|āhuatomatl}} * Cree: {{t|cr|ᒥᐢᑎᑯᒥᐣ|tr=mistikomin|sc=Cans}} {{qualifier|literally \"oak berry\"}}, {{t|cr|ᒥᐢᑎᑯᐹᑲᐣ|tr=mistikopâkan|sc=Cans}} {{qualifier|literally \"oak nut\"}} * Czech: {{t+|cs|žalud|m}} * Danish: {{t+|da|agern|n}} * Dhivehi: {{t|dv|ކަށި ބުރޮޅި|sc=Thaa}} * Dutch: {{t+|nl|eikel|m}} * Esperanto: {{t|eo|glano}} * Estonian: {{t|et|tammetõru}} * Faroese: {{t|fo|akarn|n}}, {{t|fo|eikinøt|f}} * Finnish: {{t+|fi|tammenterho}} * French: {{t+|fr|gland|m}} * Friulian: {{t|fur|gland|m}} * Galician: {{t|gl|belota|f}}, {{t|gl|landra|f}}, {{t|gl|landa|f}}, {{t+|gl|glande|m}} * Georgian: {{t|ka|რკო|sc=Geor}} * German: {{t+|de|Eichel|f}} * Greek: {{t+|el|βελανίδι|n}} *: Ancient: {{t|grc|βάλανος|f}} * Hebrew: {{t+|he|בַּלּוּט|m|tr=balút|sc=Hebr}} * Hungarian: {{t+|hu|makk}} * Icelandic: {{t|is|akarn|n}} * Ido: {{t+|io|glano}} * Interlingua: {{t|ia|glande}} * Irish: {{t|ga|dearcán|m}} * Italian: {{t+|it|ghianda|f}} * Japanese: {{t+|ja|どんぐり|tr=donguri|sc=Jpan}}, {{t+|ja|団栗|tr=どんぐり, donguri|sc=Jpan}} * Kazakh: {{t|kk|емен жаңғағы|sc=Cyrl}} * Korean: {{t|ko|에이콘}}, {{t+|ko|도토리}} * Kurdish: *: Kurmanji: {{t+|ku|belot|sc=Latn}} * Kyrgyz: {{t|ky|жёлудь|sc=Cyrl}} * Lao: {{t-needed|lo}} * Latgalian: {{t|ltg|zeile|f}} * Latin: {{t|la|glans|f}} * Latvian: {{t|lv|zīle|f}}, {{t|lv|ozolzīle|f}} * Lithuanian: {{t|lt|gilė|f}} * Luxembourgish: {{t|lb|Eechel|f}} * Macedonian: {{t|mk|желад|m}}, {{t|mk|жир|m}} * Malagasy: {{t|mg|voan'oaka}} * Maori: {{t|mi|huaōki}} * Mohegan-Pequot: {{t|xpq|anôhcum}} * Navajo: {{t|nv|chéchʼil binááʼ}} * Neapolitan: {{t|nap|gliandra|f}} * Norman: {{t|nrf|tchênelle|f}} * Norwegian: {{t|no|kongle|m|f}}, {{t|no|åkorn|n}} *: Bokmål: {{t|nb|eikenøtt|m|f}} *: Nynorsk: {{t|nn|eikenøtt|f}} * Occitan: {{t|oc|agland|m}} * Ojibwe: {{t|oj|mitigomin}} * Old Church Slavonic: {{t|cu|желѫдь|m|sc=Glag}} * Old English: {{t|ang|ǣcern|n}} * Ossetian: {{t|os|гыркъо}} * Panamint: {{t|par|wiyan}}, {{t|par|wiyampi}} * Persian: {{t+|fa|بلوط|tr=balut|sc=fa-Arab}} * Polish: {{t+|pl|żołądź|m}} * Portuguese: {{t+|pt|bolota|f}} * Romanian: {{t+|ro|ghindă|f}} * Romansch: {{t|rm|glogn}}, {{t|rm|glonda}}, {{t|rm|glànd}}, {{t|rm|glanda}} * Russian: {{t+|ru|жёлудь|m}} * Sardinian: {{t|sc|landha}}, {{t|sc|landhe}}, {{t|sc|landi}} * Saterland Frisian: {{t|stq|Äkkene|n}} * Scottish Gaelic: {{t|gd|dearc-dharaich|f}} * Serbo-Croatian: *: Cyrillic: {{t|sh|жи̑р|m}}, {{t|sh|желуд|m|}} *: Roman: {{t+|sh|žȋr|m}}, {{t|sh|želud|m|}} * Sicilian: {{t+|scn|agghiànnara|f}} * Silesian: {{t|szl|ajchel|f}} * Slovak: {{t|sk|žaluď|m}} * Slovene: {{t+|sl|želod|m}} * Sorbian: *: Lower Sorbian: {{t|dsb|žołź|m}} *: Upper Sorbian: {{t|hsb|žołdź|m}} * Spanish: {{t+|es|bellota|f}} * Sudovian: {{t|xsv|gile}} * Swedish: {{t+|sv|ekollon|n}} * Tagalog: {{t|tl|ensina}}, {{t|tl|belyota}} * Tajik: {{t|tg|балут}} * Thai: {{t|th|ผลต้นโอ๊ก}} * Turkish: {{t+|tr|palamut}} * Ukrainian: {{t+|uk|жо́лудь|m|sc=Cyrl}} * Uzbek: {{t+|uz|choʻchqayongʻoq}} * Vietnamese: {{t+|vi|đầu}} * Vilamovian: {{t|wym|achuł|f}} * Volapük: {{t+|vo|kvär}}, {{qualifier|older word, obsolete}} {{t|vo|gölogafluk}} * Walloon: {{t+|wa|gland|f}} * Welsh: {{t+|cy|mesen|f}} "; // result will be an iterator over tuples containing the start and end indices for each match in the string let result = regex.captures_iter(string); for mat in result { println!("{:?}", mat); } }

Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Rust, please visit: https://docs.rs/regex/latest/regex/