Regular Expressions 101

Save & Share

  • Save new Regex
    ctrl+s
  • Update 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
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
  • Match everything enclosed
    (?:...)
  • Capture everything enclosed
    (...)
  • 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

/
/
imsg

Test String

Code Generator

Generated Code

$re = '/(?<=^|;|<\?php\s|<\?\s)(\s*?)(\h*\$(\w+)\s*=)(\s*([\'"].*?[\'"]|.*?)\s*;)/ims'; $str = '<?php /** * The base configuration for WordPress * * The wp-config.php creation script uses this file during the * installation. You don\'t have to use the web site, you can * copy this file to "wp-config.php" and fill in the values. * * This file contains the following configurations: * * * MySQL settings * * Secret keys * * Database table prefix * * ABSPATH * * @link https://codex.wordpress.org/Editing_wp-config.php * * @package WordPress */ // ** MySQL settings - You can get this info from your web host ** // /** The name of the database for WordPress */ define(\'DB_NAME\', \'database_name_here\'); /** MySQL database username */ define(\'DB_USER\', \'username_here\'); /** MySQL database password */ define(\'DB_PASSWORD\', \'password_here\'); /** MySQL hostname */ define(\'DB_HOST\', \'localhost\'); /** Database Charset to use in creating database tables. */ define(\'DB_CHARSET\', \'utf8\'); /** The Database Collate type. Don\'t change this if in doubt. */ define(\'DB_COLLATE\', \'\'); /**#@+ * Authentication Unique Keys and Salts. * * Change these to different unique phrases! * You can generate these using the {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service} * You can change these at any point in time to invalidate all existing cookies. This will force all users to have to log in again. * * @since 2.6.0 */ define(\'AUTH_KEY\', \'put your unique phrase here\'); define(\'SECURE_AUTH_KEY\', \'put your unique phrase here\'); define(\'LOGGED_IN_KEY\', \'put your unique phrase here\'); define(\'NONCE_KEY\', \'put your unique phrase here\'); define(\'AUTH_SALT\', \'put your unique phrase here\'); define(\'SECURE_AUTH_SALT\', \'put your unique phrase here\'); define(\'LOGGED_IN_SALT\', \'put your unique phrase here\'); define(\'NONCE_SALT\', \'put your unique phrase here\'); /**#@-*/ /** * WordPress Database Table prefix. * * You can have multiple installations in one database if you give each * a unique prefix. Only numbers, letters, and underscores please! */ $table_prefix = \'wp_\'; /** * For developers: WordPress debugging mode. * * Change this to true to enable the display of notices during development. * It is strongly recommended that plugin and theme developers use WP_DEBUG * in their development environments. * * For information on other constants that can be used for debugging, * visit the Codex. * * @link https://codex.wordpress.org/Debugging_in_WordPress */ define(\'WP_DEBUG\', false); //$test_update_no_match = \'thevalue\'; // $test_update_no_match = \'thevalue\'; $test_multiple_line_1 = \'the);value\';$test_multiple_line_2 = \'thevalue\'; $test_multiple_line_3 = \'thevalue\'; $test_update_1 = \'thevalue\'; $test_update_2=\'thevalue\'; $test_update_3 = \'thevalue\' ; $test_update_4 = \'thevalue\' ; $test_update_5 = \'thevalue\'; $test_update_6 = "thevalue" ; $test_update_7 ="thevalue" ; $test_update_8="thevalue"; $test_update_9 =\'thevalue\' ; $test_update_10= \'thevalue\' ; /* That\'s all, stop editing! Happy blogging. */ /** Absolute path to the WordPress directory. */ if ( !defined(\'ABSPATH\') ) define(\'ABSPATH\', dirname(__FILE__) . \'/\'); /** Sets up WordPress vars and included files. */ require_once(ABSPATH . \'wp-settings.php\'); '; preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0); // Print the entire match result var_dump($matches);

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