﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	severity	resolution	keywords	cc
19968	Use named regular expression groups to simplify shortcodes code	nbachiyski		"Currently in {{{get_shortcode_regex()}}} in [source:trunk/wp-includes/shortcodes.php] you are welcomed by:
{{{
// WARNING! Do not change this regex without changing do_shortcode_tag() and strip_shortcode_tag()
}}}

because these functions use the regular expression match from the shortcode parser.

Instead, we could use named regex groups: {{{(?P<year>\d\d\d\d)}}} or {{{(?'year')\d\d\d\d}}} which appear indexed by name in the matches array: {{{$matches['year']}}} instead of {{{matches[1]}}}.

Benefits:

0. Future-proof code. Won't rely on indices, but on names, which we can control. Now, if we want to add a group we will have to offset all the indices, scattered all over the place.

1. Less ugly and unreadable code like:

{{{
if (!empty($m[1]))
    $atts[strtolower($m[1])] = stripcslashes($m[2]);
elseif (!empty($m[3]))
    $atts[strtolower($m[3])] = stripcslashes($m[4]);
}}}"	enhancement	new	normal	Awaiting Review	Shortcodes	3.3.1	minor		needs-patch	scribu
