Regular Expressions 101

Save & Share

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

/
/
g

Test String

Substitution

Processing...

Code Generator

Generated Code

re = /([0-9]+)\s+([0-9]+)\s+(.*?)\s+(\w+)/ str = '431619 11 przydzielony/a GER0006 267526 11 przydzielony/a GER0001 267541 11 przydzielony/a GER0002 267682 11 przydzielony/a GER0003 431621 11 przydzielony/a GER0007 431328 11 przydzielony/a GER0008 431615 11 przydzielony/a GER0009 267506 11 przydzielony/a GER0004 267538 11 przydzielony/a GER0005 397099 12 przydzielony/a NL0005 397402 12 przydzielony/a NL0004 431540 12 przydzielony/a NL0002 431643 12 przydzielony/a NL0003 430638 12 przydzielony/a NL0001 431542 12 przydzielony/a TEMP0004 431633 12 przydzielony/a TEMP0006 371870 4 przydzielony/a CYP0001 372646 4 przydzielony/a CYP0002 372640 4 przydzielony/a CYP0003 371711 4 przydzielony/a CYP0004 371983 4 przydzielony/a CYP0005 374428 4 przydzielony/a CYP0006 374610 4 przydzielony/a CYP0007 374236 4 przydzielony/a CYP0008 374264 4 przydzielony/a CYP0009 374618 4 przydzielony/a CYP0010 374615 4 przydzielony/a CYP0033 374617 4 przydzielony/a CYP0011 374619 4 przydzielony/a CYP0012 371493 4 przydzielony/a CYP0013 372438 4 przydzielony/a CYP0014 371488 4 przydzielony/a CYP0015 372295 4 przydzielony/a CYP0016 372663 4 przydzielony/a CYP0019 371557 4 przydzielony/a CYP0020 372308 4 przydzielony/a CYP0021 372636 4 przydzielony/a CYP0022 372428 4 przydzielony/a CYP0023 372676 4 przydzielony/a CYP0024 372426 4 przydzielony/a CYP0025 372415 4 przydzielony/a CYP0026 372656 4 przydzielony/a CYP0027 374416 4 przydzielony/a CYP0028 374455 4 przydzielony/a CYP0031 397487 4 przydzielony/a CYP0034 397387 4 przydzielony/a CYP0035 397100 4 przydzielony/a CYP0036 397382 4 przydzielony/a CYP0037 397081 4 przydzielony/a CYP0038 401379 4 przydzielony/a CYP0039 401737 4 przydzielony/a CYP0032 401550 4 przydzielony/a CYP0040 397108 4 przydzielony/a CYP0041 397112 4 przydzielony/a CYP0042 397105 4 przydzielony/a CYP0043 397110 4 przydzielony/a CYP0030 397092 4 przydzielony/a CYP0029 401674 4 przydzielony/a CYP0044 401520 4 przydzielony/a CYP0045 397353 4 przydzielony/a CYP0046 401665 4 przydzielony/a CYP0047 397273 4 przydzielony/a CYP0048 401632 4 przydzielony/a CYP0049 401599 4 przydzielony/a CYP0050 397359 4 przydzielony/a CYP0051 397283 4 przydzielony/a CYP0064 401641 4 przydzielony/a CYP0052 401515 4 przydzielony/a CYP0053 401513 4 przydzielony/a CYP0054 433826 4 przydzielony/a CYP0058 433814 4 przydzielony/a CYP0055 433845 4 przydzielony/a CYP0056 433785 4 przydzielony/a CYP0057 433835 4 przydzielony/a CYP0059 433808 4 przydzielony/a CYP0060 433786 4 przydzielony/a CYP0066 433810 4 przydzielony/a CYP0061 433841 4 przydzielony/a CYP0062 433840 4 przydzielony/a CYP0063 433806 4 przydzielony/a CYP0065 433282 4 przydzielony/a CYP0070 433813 4 przydzielony/a CYP0068 433839 4 przydzielony/a CYP0069 433821 4 przydzielony/a CYP0067 433818 4 przydzielony/a CYP0071 433838 4 przydzielony/a CYP0073 433822 4 przydzielony/a CYP0074 433820 4 przydzielony/a CYP0075 433829 4 przydzielony/a CYP0072 433781 4 przydzielony/a CYP0076 432534 4 przydzielony/a TEMP0083 433863 4 przydzielony/a TEMP0084 432912 4 przydzielony/a TEMP0085 433616 4 przydzielony/a TEMP0086 432379 4 przydzielony/a TEMP0087 432626 4 przydzielony/a TEMP0088 433211 4 przydzielony/a TEMP0089 433626 4 przydzielony/a TEMP0090 432495 4 przydzielony/a TEMP0091 372639 4 przydzielony/a CYP0017 371910 4 przydzielony/a CYP0018 397318 6 przydzielony/a POR0001 397014 6 przydzielony/a POR0004 397334 6 przydzielony/a POR0018 396996 6 przydzielony/a POR0007 397321 6 przydzielony/a POR0011 397013 6 przydzielony/a POR0037 397020 6 przydzielony/a POR0003 397019 6 przydzielony/a POR0006 397325 6 przydzielony/a POR0002 397317 6 przydzielony/a POR0005 397164 6 przydzielony/a POR0008 397535 6 przydzielony/a POR0009 397141 6 przydzielony/a POR0022 397124 6 przydzielony/a POR0031 397123 6 przydzielony/a POR0030 397180 6 przydzielony/a POR0034 397163 6 przydzielony/a POR0033 397505 6 przydzielony/a TEMP0048 431395 6 przydzielony/a POR0014 431447 6 przydzielony/a POR0023 431359 6 przydzielony/a POR0028 431533 6 przydzielony/a TEMP0054 431524 6 przydzielony/a TEMP0055 431303 6 przydzielony/a TEMP0056 431450 6 przydzielony/a TEMP0057 431375 6 przydzielony/a TEMP0058 431470 6 przydzielony/a TEMP0059 431299 6 przydzielony/a TEMP0060 431302 6 przydzielony/a POR0012 431300 6 przydzielony/a POR0013 431316 6 przydzielony/a TEMP0063 431298 6 przydzielony/a POR0038 431318 6 przydzielony/a TEMP0065 431555 6 przydzielony/a TEMP0066 431578 6 przydzielony/a POR0016 431616 6 przydzielony/a POR0015 431560 6 przydzielony/a POR0010 431363 6 przydzielony/a POR0017 431150 6 przydzielony/a POR0020 431158 6 przydzielony/a POR0019 431205 6 przydzielony/a POR0021 431148 6 przydzielony/a POR0036 431456 6 przydzielony/a POR0029 431408 6 przydzielony/a POR0024 431337 6 przydzielony/a POR0027 431367 6 przydzielony/a POR0026 431355 6 przydzielony/a POR0025 431370 6 przydzielony/a POR0032 431543 6 przydzielony/a POR0035 431410 6 przydzielony/a TEMP0082 431518 6 przydzielony/a TEMP0083 431453 6 przydzielony/a TEMP0084 401690 5 przydzielony/a ITA0015 397368 5 przydzielony/a ITA0010 401686 5 przydzielony/a ITA0014 397380 5 przydzielony/a ITA0016 401516 5 przydzielony/a TEMP0081 401592 5 przydzielony/a ITA0008 401609 5 przydzielony/a ITA0001 401771 5 przydzielony/a TEMP0082 401715 5 przydzielony/a ITA0007 401611 5 przydzielony/a ITA0002 397116 5 przydzielony/a ITA0017 397132 5 przydzielony/a ITA0024 397405 5 przydzielony/a ITA0018 397104 5 przydzielony/a ITA0019 397411 5 przydzielony/a ITA0020 401518 5 przydzielony/a TEMP0088 397103 5 przydzielony/a ITA0026 401523 5 przydzielony/a TEMP0090 401534 5 przydzielony/a ITA0021 397091 5 przydzielony/a TEMP0092 431398 5 przydzielony/a TEMP0059 431350 5 przydzielony/a TEMP0060 431579 5 przydzielony/a TEMP0061 431351 5 przydzielony/a TEMP0062 431599 5 przydzielony/a TEMP0063 431376 5 przydzielony/a TEMP0064 431422 5 przydzielony/a TEMP0065 431381 5 przydzielony/a ITA0025 431564 5 przydzielony/a TEMP0111 431565 5 przydzielony/a TEMP0069 431577 5 przydzielony/a TEMP0070 431510 5 przydzielony/a TEMP0071 431561 5 przydzielony/a TEMP0072 431583 5 przydzielony/a TEMP0073 431552 5 przydzielony/a TEMP0074 431571 5 przydzielony/a TEMP0075 431259 5 przydzielony/a TEMP0076 431570 5 przydzielony/a TEMP0077 377368 5 przydzielony/a ITA0012 401615 5 przydzielony/a ITA0004 401590 5 przydzielony/a ITA0005 401508 5 przydzielony/a ITA0006 401343 5 przydzielony/a ITA0009 397280 5 przydzielony/a ITA0003 401506 5 przydzielony/a ITA0011 401531 5 przydzielony/a TEMP0093 401687 5 przydzielony/a ITA0013 401549 5 przydzielony/a ITA0022 401545 5 przydzielony/a TEMP0036 431493 5 przydzielony/a ITA0027 431547 5 przydzielony/a ITA0023 431481 5 przydzielony/a TEMP0039 431249 5 przydzielony/a TEMP0040 431441 5 przydzielony/a TEMP0095 431505 5 przydzielony/a TEMP0042 431496 5 przydzielony/a TEMP0043 431504 5 przydzielony/a TEMP0044 431513 5 przydzielony/a TEMP0045 431514 5 przydzielony/a TEMP0046 431400 5 przydzielony/a TEMP0047 431391 5 przydzielony/a TEMP0048 431374 5 przydzielony/a TEMP0049 431520 5 przydzielony/a TEMP0050 431587 5 przydzielony/a TEMP0051 431378 5 przydzielony/a TEMP0052 431523 5 przydzielony/a TEMP0053 431379 5 przydzielony/a TEMP0054 431241 5 przydzielony/a TEMP0055 431527 5 przydzielony/a TEMP0056 431401 5 przydzielony/a TEMP0057 431377 5 przydzielony/a TEMP0058 448152 5 przydzielony/a TEMP0096 448142 5 przydzielony/a TEMP0097 448333 5 przydzielony/a TEMP0098 448193 5 przydzielony/a TEMP0099 448091 5 przydzielony/a TEMP0100 447569 5 przydzielony/a TEMP0101 447603 5 przydzielony/a TEMP0102 447565 5 przydzielony/a TEMP0103 447575 5 przydzielony/a TEMP0104 447326 5 przydzielony/a TEMP0105 447578 5 przydzielony/a TEMP0106 447600 5 przydzielony/a TEMP0107 447576 5 przydzielony/a TEMP0108 447834 5 przydzielony/a TEMP0109 447598 5 przydzielony/a TEMP0110 ' subst = 'UPDATE cm_element_eav_text\\nSET value=\'\\4\'\\nWHERE id_attrib=89\\nAND id=(SELECT id FROM cm_element_eav_text WHERE id_attrib=1 AND value=\'\\1\');\\n\\nUPDATE cm_element\\nSET id_klienta=\\2, id_statusu=1\\nWHERE id=(SELECT id FROM cm_element_eav_text WHERE id_attrib=1 AND value=\'\\1\');\\n' result = str.gsub(re, subst) # Print the result of the substitution puts result

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 Ruby, please visit: http://ruby-doc.org/core-2.2.0/Regexp.html