Это очень сложно обработать с помощью встроенных выражений.
Я бы предложил использовать ng-change и передать вычисления на аутсорсинг функции контроллера.Я создал рабочую скрипку , чтобы решить эту проблему.Так как я не знал ваш правильный рабочий процесс (считая строку с 32 символами как одну или две строки ?, ...), вам нужно настроить этот пример в соответствии с вашими потребностями.
Вид:
<code><textarea class="form-control" id="inputText1" rows="4" maxlength="64" ng-model="textBase" ng-change="evaluateChange()"></textarea>
<pre>{{textBase}}
Строки после перерыва или 32 символа: {{rowAfterBreakOr32}}
Контроллер:
$scope.textBase = '';
$scope.rowsAfterBreakOr32 = 0;
$scope.evaluateChange = function() {
// calc row break or 32chars
var rowBreaks = $scope.textBase ? $scope.textBase.split("\n") : [$scope.textBase];
$scope.rowsAfterBreakOr32 = rowBreaks.length;
// iterate each row and count chars
for(var i=0; i<rowBreaks.length; i++) {
if(rowBreaks[i].length > 32) {
$scope.rowsAfterBreakOr32 += rowBreaks[i].match(/.{1,32}/g).length;
}
}
};