<html>
<head></head>
<body>
<script>
var arr='«Школа №31» Москва.«Школа №31».';
var reg=/(«[^»]*»|[^«\s.]+)[\s.]*/ig
var b;
while( b=reg.exec(arr) )
document.write( b[1]+"<br>" );
</script>
</body>
</html>
ЗЫ
Правильно ли я понял (из примера что должно получиться) что точки тоже надо удалять?
ЗЫ2
Сорри за плохой (по мнению некоторых) стиль - применение присваивания внутри while (где ожидается проверка условия, т.е. легко перепутать со сравнением)