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 = preg_replace($re, $subst, $str); echo "The result of the substitution is ".$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 PHP, please visit: http://php.net/manual/en/ref.pcre.php