Index: src/wp-includes/formatting.php
===================================================================
--- src/wp-includes/formatting.php	(revision 28831)
+++ src/wp-includes/formatting.php	(working copy)
@@ -198,7 +198,7 @@
 		.	'(?(?=!--)'	// Is this a comment?
 		.		'.+?--\s*>'	// Find end of comment
 		.	'|'
-		.		'.+?>'		// Find end of element
+		.		'[^>]+>'		// Find end of element
 		.	')'
 		. '|'
 		.	'\['		// Find start of shortcode.
@@ -206,7 +206,7 @@
 		.	'(?:'
 		.		'[^\[\]<>]'	// Shortcodes do not contain other shortcodes.
 		.	'|'
-		.		'<.+?>' 	// HTML elements permitted. Prevents matching ] before >.
+		.		'<[^>]+>' 	// HTML elements permitted. Prevents matching ] before >.
 		.	')+'
 		.	'\]'		// Find end of shortcode.
 		.	'\]?'		// Shortcodes may end with ]]
Index: tests/phpunit/tests/formatting/WPTexturize.php
===================================================================
--- tests/phpunit/tests/formatting/WPTexturize.php	(revision 28831)
+++ tests/phpunit/tests/formatting/WPTexturize.php	(working copy)
@@ -1305,6 +1305,22 @@
 				'word <img src="http://example.com/wp-content/uploads/2014/06/image-300x216.gif" /> word', // Ensure we are not corrupting image URLs.
 				'word <img src="http://example.com/wp-content/uploads/2014/06/image-300x216.gif" /> word',
 			),
+			array(
+				'[ do texturize "[quote]" here ]',
+				'[ do texturize &#8220;[quote]&#8221; here ]',
+			),
+			array(
+				'[ regex catches this <a href="[quote]">here</a> ]',
+				'[ regex catches this <a href="[quote]">here</a> ]',
+			),
+			array(
+				'[ but also catches the <b>styled "[quote]" here</b> ]',
+				'[ but also catches the <b>styled &#8220;[quote]&#8221; here</b> ]',
+			),
+			array(
+				'[Let\'s get crazy<input>[plugin code="<a href=\'?a[]=100\'>hello</a>"]</input>world]',
+				'[Let&#8217;s get crazy<input>[plugin code="<a href=\'?a[]=100\'>hello</a>"]</input>world]',
+			),
 		);
 	}
 
