normalizeStandaloneDecimalLikeToken function
Normalizes standalone decimal-like tokens made only of digit lookalikes.
This reuses the same decimal-shape validator as structured fields, but
applies it to free-standing tokens in prose such as O.OO USD.
Implementation
String normalizeStandaloneDecimalLikeToken(String line) {
if (line.isEmpty) {
return line;
}
return line.replaceAllMapped(
RegExp(
r'(?<![A-Za-z0-9])([\[\]|!A-Za-z0-9]+\.[A-Za-z0-9]{2})(?![A-Za-z0-9])',
),
(Match match) {
final String token = match.group(regexGroupFirst) ?? '';
if (!_looksDecimalStructuredNumericValue(token)) {
return token;
}
return normalizeDateSeparators(_mapDigitLookalikesInValue(token));
},
);
}