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

/
/

Test String

Substitution

Processing...

Code Generator

Generated Code

# coding=utf8 # the above tag defines encoding for this document and is for Python 2.x compatibility import re regex = r"\v(knop\.\h*(\v|$))" test_str = ("PROGNOS F&#214;R OMR&#197;DE B DEN S&#214;DRA DELEN \n" "G&#196;LLANDE DEN 31 JANUARI 2016 MELLAN 08 OCH 14 UTC \n" " \n" " \n" "Turbulens \n" "Omr&#229;de 3a,3b,3c,3d: Mot slutet av perioden m&#229;ttlig turbulens, \n" "SFC-3000ft. \n" " \n" " \n" "Isbildning \n" "Omr&#229;de 1b,1c,3a: I mitten och mot slutet av perioden l&#228;tt till \n" "m&#229;ttlig isbildning mellan 1000ft och FL070. \n" "Omr&#229;de 2a,2b,3b,3c,3d: Under hela perioden l&#228;tt till m&#229;ttlig \n" "isbildning mellan 1000ft och FL070. \n" " \n" " \n" "Sikt/V&#228;der/Moln \n" "Omr&#229;de 3c: I b&#246;rjan av perioden sikt &#246;ver 8km sn&#246;fall, lokalt \n" "1500-3000m i sn&#246;blandat regn. Molnbas &#246;ver 2000ft, lokalt 500-1000ft. \n" "Moln&#246;versida FL070. I mitten av perioden sikt &#246;ver 8km, lokalt \n" "3000-5000m i sn&#246;fall. Molnbas 500-1000ft, lokalt &#246;ver 2000ft. \n" "Moln&#246;versida FL070. Mot slutet av perioden sikt &#246;ver 8km. Molnbas \n" "&#246;ver 2000ft. Moln&#246;versida FL070. \n" "Omr&#229;de 2b: I b&#246;rjan och mitten av perioden sikt &#246;ver 8km, lokalt \n" "1500-3000m i sn&#246;fall. Molnbas &#246;ver 2000ft, lokalt under 500ft. \n" "Moln&#246;versida FL070. Mot slutet av perioden sikt &#246;ver 8km, lokalt \n" "3000-5000m i sn&#246;fall. Molnbas &#246;ver 2000ft, lokalt 500-1000ft. \n" "Moln&#246;versida &gt;FL125. \n" "Omr&#229;de 3b: I b&#246;rjan och mitten av perioden sikt 1500-3000m sn&#246;fall, \n" "lokalt &#246;ver 8km. Molnbas &#246;ver 2000ft, lokalt under 500ft. \n" "Moln&#246;versida FL070. Mot slutet av perioden sikt &#246;ver 8km. Molnbas \n" "&#246;ver 2000ft. Moln&#246;versida FL070. \n" "Omr&#229;de 2c: Under hela perioden sikt &#246;ver 8km. Molnbas &#246;ver 2000ft. \n" "Moln&#246;versida FL070. \n" "Omr&#229;de 3d: I b&#246;rjan av perioden sikt &#246;ver 8km sn&#246;fall, lokalt \n" "1500-3000m i sn&#246;blandat regn. Molnbas 500-1000ft, lokalt &#246;ver 2000ft. \n" "Moln&#246;versida FL070. I mitten av perioden sikt &#246;ver 8km, lokalt \n" "3000-5000m i sn&#246;fall. Molnbas 500-1000ft, lokalt &#246;ver 2000ft. \n" "Moln&#246;versida FL070. Mot slutet av perioden sikt &#246;ver 8km. Molnbas \n" "&#246;ver 2000ft. Moln&#246;versida FL070. \n" "Omr&#229;de 1a: Under hela perioden sikt &#246;ver 8km. Molnbas &#246;ver 2000ft. \n" "Moln&#246;versida: Ingen prognos. \n" "Omr&#229;de 1c: Under hela perioden sikt &#246;ver 8km. Molnbas &#246;ver 2000ft, \n" "lokalt 500-1000ft. Moln&#246;versida FL070. \n" "Omr&#229;de 2a: Under hela perioden sikt 1500-3000m sn&#246;fall, lokalt &#246;ver \n" "8km. Molnbas &#246;ver 2000ft, lokalt under 500ft. Moln&#246;versida &gt;FL125. \n" "Omr&#229;de 1b: I b&#246;rjan av perioden sikt &#246;ver 8km. Molnbas &#246;ver 2000ft. \n" "Moln&#246;versida: Ingen prognos. I mitten och mot slutet av perioden sikt \n" "&#246;ver 8km. Molnbas &#246;ver 2000ft, lokalt 500-1000ft. Moln&#246;versida FL070. \n" "Omr&#229;de 3a: I b&#246;rjan av perioden sikt &#246;ver 8km. Molnbas &#246;ver 2000ft. \n" "Moln&#246;versida: Ingen prognos. I mitten av perioden sikt &#246;ver 8km, \n" "lokalt 1500-3000m i sn&#246;fall. Molnbas &#246;ver 2000ft, lokalt under 500ft. \n" "Moln&#246;versida FL070. Mot slutet av perioden sikt &#246;ver 8km, lokalt \n" "3000-5000m i sn&#246;fall. Molnbas &#246;ver 2000ft, lokalt 500-1000ft. \n" "Moln&#246;versida FL070. \n" " \n" " \n" "Nollgradersisoterm \n" "I hela omr&#229;det: Noll grader vid 500ft. \n" " \n" "Vind vid marken \n" "Omr&#229;de 2b,2c: S-SV/5-10 knop, efterhand S-SV/10 knop. \n" "Omr&#229;de 3b,3c,3d: SV-V/10-15 knop, byar upp till 25 knop, efterhand \n" "V/15-20 knop, byar upp till 30 knop. \n" "Omr&#229;de 3a: S-SV/5-10 knop, efterhand V/15-20 knop, byar upp till 30 \n" "knop. \n" "Omr&#229;de 1a: SV/10-15 knop. \n" "Omr&#229;de 2a: SV-V/10-15 knop, byar upp till 25 knop. \n" "Omr&#229;de 1b,1c: SV/15-20 knop, efterhand SV-V/15-20 knop. \n" " \n" " \n" "Vind och temperatur \n" "2000ft: \n" "I hela omr&#229;det: 240/25kt -1, efterhand 260/25kt -1 \n" "FL50: \n" "I hela omr&#229;det: 260/25kt -7, efterhand 280/30kt -8 \n" "FL100: \n" "I hela omr&#229;det: 250/25kt -17, efterhand 270/30kt -17 \n" " \n" "L&#228;gsta QNH \n" "982 hPa, l&#228;gst i norr, stigande \n" " \n" "Till&#228;ggsinformation \n" "F&#246;rekomsten av TCU eller CB inneb&#228;r alltid risk f&#246;r m&#229;ttlig till sv&#229;r \n" "isbildning och turbulens, &#228;ven om det inte framg&#229;r explicit av \n" "prognosen.") subst = "$1" # You can manually specify the number of replacements by changing the 4th argument result = re.sub(regex, subst, test_str, 1) if result: print (result) # Note: for Python 2.7 compatibility, use ur"" to prefix the regex and u"" to prefix the test string and substitution.

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 Python, please visit: https://docs.python.org/3/library/re.html