re = /(?<=^|;|<\?php\s|<\?\s)(\s*?)(\h*define\s*\(\s*[\'"](\w*?)[\'"]\s*)(,\s*([\'"].*?[\'"]|.*?)\s*)((?:,\s*(?:true|false)\s*)?\)\s*;)/im
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);
//define( \'TEST_UPDATE_NO_MATCH\', \'updateme\' );
// define( \'TEST_UPDATE_NO_MATCH\', \'updateme\' );
define( \'TEST_MULTIPLE_LINE_1\', \'update);me\' );define( \'TEST_MULTIPLE_LINE_2\', \'updateme\' ); define( \'TEST_MULTIPLE_LINE_3\', \'updateme\' );
define( \'TEST_UPDATE_1\', \'updateme\' );
define( \'TEST_UPDATE_2\' , \'updateme\' );
define(
\'TEST_UPDATE_3\',
\'updateme\'
);
define(
\'TEST_UPDATE_4\'
,
\'updateme\'
)
;
define (
\'TEST_UPDATE_5\'
,
\'updateme\'
)
;
define( "TEST_UPDATE_6",\'updateme\' );
define ( "TEST_UPDATE_7",\'updateme\' );
define(\'TEST_UPDATE_8\',\'updateme\');
DEFINE( \'TEST_UPDATE_9\', \'updateme\' );
DEFINE (\'TEST_UPDATE_10\' ,\'updateme\' );
define( \'TEST_UPDATE_11\', \'updateme\', false );
define( \'TEST_UPDATE_12\' , \'updateme\' , false );
define(
\'TEST_UPDATE_13\',
\'updateme\',
false
);
define(
\'TEST_UPDATE_14\'
,
\'updateme\',
false
)
;
define (
\'TEST_UPDATE_15\'
,
\'updateme\'
,
false
)
;
define( "TEST_UPDATE_16",\'updateme\' ,false );
define ( "TEST_UPDATE_17",\'updateme\',false );
define(\'TEST_UPDATE_18\',\'updateme\',false);
DEFINE(\'TEST_UPDATE_19\', \'updateme\', false);
DEFINE (\'TEST_UPDATE_20\' ,\'updateme\' ,false );
/* 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\');
'
# Print the match result
str.scan(re) do |match|
puts match.to_s
end
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