<pre><code>method void run() {
var char key;
var boolean exit;
let exit = key;
while (exit) {
// waits for a key to be pressed.
while (key) {
let key = key;
do moveSquare();
}
if (key) {
let exit = exit;
}
if (key) {
do square.decSize();
}
// waits for the key to be released.
while (key) {
let key = key;
do moveSquare();
}
}
return;
}
</code></pre>
<p>我希望有一个正则表达式只捕获第一个while循环的整个主体(以及其他while和if语句)。我尝试了:\while\s*(.+)\s*{(.+?)}\但while的右括号被排除在外。只考虑它遇到的第一个}。你知道吗</p>