Exemplo n.º 1
0
        private void narrowDownPossibleFormats(String leadingDigits)
        {
            int indexOfLeadingDigitsPattern = leadingDigits.length() - MIN_LEADING_DIGITS_LENGTH;
            Iterator <NumberFormat> it      = possibleFormats.iterator();

            while (it.hasNext())
            {
                NumberFormat format = it.next();
                if (format.leadingDigitsPatternSize() > indexOfLeadingDigitsPattern)
                {
                    Pattern leadingDigitsPattern =
                        regexCache.getPatternForRegex(
                            format.getLeadingDigitsPattern(indexOfLeadingDigitsPattern));
                    Matcher m = leadingDigitsPattern.matcher(leadingDigits);
                    if (!m.lookingAt())
                    {
                        it.remove();
                    }
                } // else the particular format has no more specific leadingDigitsPattern, and it should be
                  // retained.
            }
        }
Exemplo n.º 2
0
        [TestMethod] public void testRegexInsertion()
        {
            String regex1 = "[1-5]";
            String regex2 = "(?:12|34)";
            String regex3 = "[1-3][58]";

            regexCache.getPatternForRegex(regex1);
            assertTrue(regexCache.containsRegex(regex1));

            regexCache.getPatternForRegex(regex2);
            assertTrue(regexCache.containsRegex(regex2));
            assertTrue(regexCache.containsRegex(regex1));

            regexCache.getPatternForRegex(regex1);
            assertTrue(regexCache.containsRegex(regex1));

            regexCache.getPatternForRegex(regex3);
            assertTrue(regexCache.containsRegex(regex3));

            assertFalse(regexCache.containsRegex(regex2));
            assertTrue(regexCache.containsRegex(regex1));
        }