Index: src/wp-includes/formatting.php
===================================================================
--- src/wp-includes/formatting.php	(revision 30105)
+++ src/wp-includes/formatting.php	(working copy)
@@ -214,12 +214,12 @@
 		. '(?:-->)?';   // End of comment. If not found, match all input.
 
 	$shortcode_regex =
-		  '\['          // Find start of shortcode.
-		. '[\/\[]?'     // Shortcodes may begin with [/ or [[
-		. '[^\s\/\[\]]' // No whitespace before name.
-		. '[^\[\]]*+'   // Shortcodes do not contain other shortcodes. Possessive critical.
-		. '\]'          // Find end of shortcode.
-		. '\]?';        // Shortcodes may end with ]]
+		  '\['            // Find start of shortcode.
+		. '[\/\[]?'       // Shortcodes may begin with [/ or [[
+		. '[^\s\/\[\]<>]' // No whitespace before name.
+		. '[^\[\]<>]*+'   // Shortcodes do not contain other shortcodes. Possessive critical.
+		. '\]'            // Find end of shortcode.
+		. '\]?';          // Shortcodes may end with ]]
 
 	$regex =
 		  '/('                   // Capture the entire match.
Index: tests/phpunit/tests/formatting/WPTexturize.php
===================================================================
--- tests/phpunit/tests/formatting/WPTexturize.php	(revision 30105)
+++ tests/phpunit/tests/formatting/WPTexturize.php	(working copy)
@@ -1197,11 +1197,11 @@
 			),
 			array(
 				'[is it wise to <a title="allow user content ] here? hmm"> maybe </a> ]', // HTML corruption is a known bug.  See tickets #12690 and #29557.
-				'[is it wise to <a title="allow user content ] here? hmm&#8221;> maybe </a> ]',
+				'[is it wise to <a title="allow user content ] here? hmm"> maybe </a> ]',
 			),
 			array(
 				'[caption - is it wise to <a title="allow user content ] here? hmm"> maybe </a> ]',
-				'[caption - is it wise to <a title="allow user content ] here? hmm&#8221;> maybe </a> ]',
+				'[caption - is it wise to <a title="allow user content ] here? hmm"> maybe </a> ]',
 			),
 			array(
 				'[ photos by <a href="http://example.com/?a[]=1&a[]=2"> this guy </a> ]',
@@ -1241,7 +1241,7 @@
 			),
 			array(
 				'[gallery <br ... /> ...]', // This tag is still valid. Shortcode 'attributes' are not considered in the initial parsing of shortcodes, and HTML is allowed.
-				'[gallery <br ... /> ...]',
+				'[gallery <br ... /> &#8230;]',
 			),
 			array(
 				'<br [gallery ...] ... />',
@@ -1281,7 +1281,7 @@
 			),
 			array(
 				'[[gallery <br ... /> ...]]', // This gets parsed as an escaped shortcode with embedded HTML.  Brains may explode.
-				'[[gallery <br ... /> ...]]',
+				'[[gallery <br ... /> &#8230;]]',
 			),
 			array(
 				'<br [[gallery ...]] ... />',
@@ -1779,7 +1779,7 @@
 			),
 			array(
 				'[gal>ery ...]',
-				'[gal>ery ...]',
+				'[gal>ery &#8230;]',
 			),
 			array(
 				'[randomthing param="test"]',
