static int indexOfIC_underscore(S a, S b) { int la = l(a), lb = l(b); if (la < lb) ret -1; int n = la-lb; elsewhere: for (int i = 0; i <= n; i++) { for (int j = 0; j < lb; j++) { char c2 = b.charAt(j); if (c2 == '_' || eqic(c2, a.charAt(i+j))) { /* matching char */ } else continue elsewhere; } ret i; } ret -1; }