title: Warning: preg_match(): Compilation failed: quantifier does not follow a repeatable item at offset 1 in wp-includes/class-wp.php on line 222
body: <p>Any pages with page type posts, order type posts, or posts show this error. This is only visible on a hosted environment. I cannot replicate the errors locally</p>
  
  <p>I have done the following in this order:</p>
  
  <ol>
  <li>deactivated all plugins</li>
  <li>went to settings->permalinks and resaved the %postname% option</li>
  <li>verified that error is still present with no plugins and permalinks reset.</li>
  <li>Updated all plugins and themes.</li>
  <li>Verified error is still present. </li>
  <li>Followed the same procedure locally, and was not able to replicate this problem.  </li>
  </ol>
  
  <p>from class-wp.php:</p>
  
  <pre class="lang-php prettyprint-override"><code>foreach ( (array) $rewrite as $match =&gt; $query ) {
      // If the requested file is the anchor of the match, prepend it to the path info.
      if ( ! empty( $requested_file ) &amp;&amp; strpos( $match, $requested_file ) === 0 &amp;&amp; $requested_file != $requested_path ) {
          $request_match = $requested_file . '/' . $requested_path;
      }
  
      if ( preg_match( "#^$match#", $request_match, $matches ) ||
          preg_match( "#^$match#", urldecode( $request_match ), $matches ) ) {
  
          if ( $wp_rewrite-&gt;use_verbose_page_rules &amp;&amp; preg_match( '/pagename=\$matches\[([0-9]+)\]/', $query, $varmatch ) ) {
              // This is a verbose page match, let's check to be sure about it.
              $page = get_page_by_path( $matches[ $varmatch[1] ] );
              if ( ! $page ) {
                  continue;
              }
  
              $post_status_obj = get_post_status_object( $page-&gt;post_status );
              if ( ! $post_status_obj-&gt;public &amp;&amp; ! $post_status_obj-&gt;protected
                  &amp;&amp; ! $post_status_obj-&gt;private &amp;&amp; $post_status_obj-&gt;exclude_from_search ) {
                  continue;
              }
          }
  
          // Got a match.
          $this-&gt;matched_rule = $match;
          break;
      }
  }
  </code></pre>
  
  <p>I have scoured the interweb for an answer on this, but I have come up with nothing. Let the WordPress Junkies speak please.</p>