<p><a href="http://regex101.com/r/rO8xM5" rel="nofollow">I think you are looking for this</a>:</p>
<pre><code>[wW]hat is the capitol of ([\w\s]*)\?
</code></pre>
<p>你的根本错误是把<a href="http://www.regular-expressions.info/charclass.html" rel="nofollow">character classes</a>和<a href="http://www.regular-expressions.info/brackets.html" rel="nofollow">capture groups</a>混为一谈。你知道吗</p>
<p>要查找混合字符(如<code>w</code>或<code>W</code>),需要使用<code>[wW]</code>这样的字符类。这意味着当我们寻找单词字符(<code>\w</code>=<code>[a-zA-Z0-9_]</code>)或空格字符(<code>\s</code>=<code>[\r\n\t\f ]</code>)时,我们可以简单地说<code>[\w\s]</code>。你知道吗</p>
<p>最后一个问题是<code>?</code>和<code>*</code>(<a href="http://www.regular-expressions.info/repeat.html" rel="nofollow">repetition</a>)的使用。首先,它们在字符类中没有特殊意义,所以我删除了它们。<code>*</code>重复0+个字符(<code>+</code>检查1+),并且<code>?</code>使上一个键是可选的。这意味着<code>\w*?</code>是不必要的,因为它表示可选的0+匹配。你知道吗</p>
<p>注意,我在capitol名称周围使用了一个捕获组<code>(...)</code>,这意味着我们可以从捕获组1引用capitol。你知道吗</p>
<p>最后,我们可以使用<code>i</code>修饰符使匹配不区分大小写。<a href="http://regex101.com/r/uO3yO6" rel="nofollow">the final expression may be simpler to understand</a>:</p>
<pre><code>/what is the capitol of ([a-z ]+)\?/i
</code></pre>