sclass EnglishNumberAttractor > PartialAttractor { S value; // number as string, e.g. "22" public bool find() { for (int i = 1; i < l(tok); i += 2) { int j = i+1; S s; while (j < l(tok) && nempty(s = parseEnglishNumbers(joinSubList(tok, i, j+1)))) { value = s; j += 2; } if (j > i+1) ret true with matchedRange = intRange(i, j-2); } false; } }