亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? recompiler.java

?? jakarta-regexp-1.5 正則表達式的源代碼
?? JAVA
?? 第 1 頁 / 共 4 頁
字號:
            case RE.E_NALNUM:            case RE.E_SPACE:            case RE.E_NSPACE:            case RE.E_DIGIT:            case RE.E_NDIGIT:                return ESC_CLASS;            case 'u':            case 'x':                {                    // Exact required hex digits for escape type                    int hexDigits = (escapeChar == 'u' ? 4 : 2);                    // Parse up to hexDigits characters from input                    int val = 0;                    for ( ; idx < len && hexDigits-- > 0; idx++)                    {                        // Get char                        char c = pattern.charAt(idx);                        // If it's a hexadecimal digit (0-9)                        if (c >= '0' && c <= '9')                        {                            // Compute new value                            val = (val << 4) + c - '0';                        }                        else                        {                            // If it's a hexadecimal letter (a-f)                            c = Character.toLowerCase(c);                            if (c >= 'a' && c <= 'f')                            {                                // Compute new value                                val = (val << 4) + (c - 'a') + 10;                            }                            else                            {                                // If it's not a valid digit or hex letter, the escape must be invalid                                // because hexDigits of input have not been absorbed yet.                                syntaxError("Expected " + hexDigits + " hexadecimal digits after \\" + escapeChar);                            }                        }                    }                    return val;                }            case 't':                return '\t';            case 'n':                return '\n';            case 'r':                return '\r';            case 'f':                return '\f';            case '0':            case '1':            case '2':            case '3':            case '4':            case '5':            case '6':            case '7':            case '8':            case '9':                // An octal escape starts with a 0 or has two digits in a row                if ((idx < len && Character.isDigit(pattern.charAt(idx))) || escapeChar == '0')                {                    // Handle \nnn octal escapes                    int val = escapeChar - '0';                    if (idx < len && Character.isDigit(pattern.charAt(idx)))                    {                        val = ((val << 3) + (pattern.charAt(idx++) - '0'));                        if (idx < len && Character.isDigit(pattern.charAt(idx)))                        {                            val = ((val << 3) + (pattern.charAt(idx++) - '0'));                        }                    }                    return val;                }                // It's actually a backreference (\[1-9]), not an escape                return ESC_BACKREF;            default:                // Simple quoting of a character                return escapeChar;        }    }    /**     * Compile a character class     * @return Index of class node     * @exception RESyntaxException Thrown if the regular expression has invalid syntax.     */    int characterClass() throws RESyntaxException    {        // Check for bad calling or empty class        if (pattern.charAt(idx) != '[')        {            internalError();        }        // Check for unterminated or empty class        if ((idx + 1) >= len || pattern.charAt(++idx) == ']')        {            syntaxError("Empty or unterminated class");        }        // Check for POSIX character class        if (idx < len && pattern.charAt(idx) == ':')        {            // Skip colon            idx++;            // POSIX character classes are denoted with lowercase ASCII strings            int idxStart = idx;            while (idx < len && pattern.charAt(idx) >= 'a' && pattern.charAt(idx) <= 'z')            {                idx++;            }            // Should be a ":]" to terminate the POSIX character class            if ((idx + 1) < len && pattern.charAt(idx) == ':' && pattern.charAt(idx + 1) == ']')            {                // Get character class                String charClass = pattern.substring(idxStart, idx);                // Select the POSIX class id                Character i = (Character)hashPOSIX.get(charClass);                if (i != null)                {                    // Move past colon and right bracket                    idx += 2;                    // Return new POSIX character class node                    return node(RE.OP_POSIXCLASS, i.charValue());                }                syntaxError("Invalid POSIX character class '" + charClass + "'");            }            syntaxError("Invalid POSIX character class syntax");        }        // Try to build a class.  Create OP_ANYOF node        int ret = node(RE.OP_ANYOF, 0);        // Parse class declaration        char CHAR_INVALID = Character.MAX_VALUE;        char last = CHAR_INVALID;        char simpleChar;        boolean include = true;        boolean definingRange = false;        int idxFirst = idx;        char rangeStart = Character.MIN_VALUE;        char rangeEnd;        RERange range = new RERange();        while (idx < len && pattern.charAt(idx) != ']')        {            switchOnCharacter:            // Switch on character            switch (pattern.charAt(idx))            {                case '^':                    include = !include;                    if (idx == idxFirst)                    {                        range.include(Character.MIN_VALUE, Character.MAX_VALUE, true);                    }                    idx++;                    continue;                case '\\':                {                    // Escape always advances the stream                    int c;                    switch (c = escape ())                    {                        case ESC_COMPLEX:                        case ESC_BACKREF:                            // Word boundaries and backrefs not allowed in a character class!                            syntaxError("Bad character class");                        case ESC_CLASS:                            // Classes can't be an endpoint of a range                            if (definingRange)                            {                                syntaxError("Bad character class");                            }                            // Handle specific type of class (some are ok)                            switch (pattern.charAt(idx - 1))                            {                                case RE.E_NSPACE:                                    range.include(Character.MIN_VALUE, 7, include);   // [Min - \b )                                    range.include((char) 11, include);                // ( \n - \f )                                    range.include(14, 31, include);                   // ( \r - ' ')                                    range.include(33, Character.MAX_VALUE, include);  // (' ' - Max]                                    break;                                case RE.E_NALNUM:                                    range.include(Character.MIN_VALUE, '/', include); // [Min - '0')                                    range.include(':', '@', include);                 // ('9' - 'A')                                    range.include('[', '^', include);                 // ('Z' - '_')                                    range.include('`', include);                      // ('_' - 'a')                                    range.include('{', Character.MAX_VALUE, include); // ('z' - Max]                                    break;                                case RE.E_NDIGIT:                                    range.include(Character.MIN_VALUE, '/', include); // [Min - '0')                                    range.include(':', Character.MAX_VALUE, include); // ('9' - Max]                                    break;                                case RE.E_SPACE:                                    range.include('\t', include);                                    range.include('\r', include);                                    range.include('\f', include);                                    range.include('\n', include);                                    range.include('\b', include);                                    range.include(' ', include);                                    break;                                case RE.E_ALNUM:                                    range.include('a', 'z', include);                                    range.include('A', 'Z', include);                                    range.include('_', include);                                    // Fall through!                                case RE.E_DIGIT:                                    range.include('0', '9', include);                                    break;                            }                            // Make last char invalid (can't be a range start)                            last = CHAR_INVALID;                            break;                        default:                            // Escape is simple so treat as a simple char                            simpleChar = (char) c;                            break switchOnCharacter;                    }                }                continue;                case '-':                    // Start a range if one isn't already started                    if (definingRange)                    {                        syntaxError("Bad class range");                    }                    definingRange = true;                    // If no last character, start of range is 0                    rangeStart = (last == CHAR_INVALID ? 0 : last);                    // Premature end of range. define up to Character.MAX_VALUE                    if ((idx + 1) < len && pattern.charAt(++idx) == ']')                    {                        simpleChar = Character.MAX_VALUE;                        break;                    }                    continue;                default:                    simpleChar = pattern.charAt(idx++);                    break;            }            // Handle simple character simpleChar            if (definingRange)            {                // if we are defining a range make it now                rangeEnd = simpleChar;                // Actually create a range if the range is ok                if (rangeStart >= rangeEnd)                {                    syntaxError("Bad character class");                }                range.include(rangeStart, rangeEnd, include);                // We are done defining the range                last = CHAR_INVALID;                definingRange = false;            }            else            {                // If simple character and not start of range, include it                if (idx >= len || pattern.charAt(idx) != '-')                {                    range.include(simpleChar, include);                }                last = simpleChar;            }        }        // Shouldn't be out of input        if (idx == len)        {            syntaxError("Unterminated character class");        }        // Absorb the ']' end of class marker        idx++;        // Emit character class definition        instruction[ret + RE.offsetOpdata] = (char)range.num;        for (int i = 0; i < range.num; i++)        {            emit((char)range.minRange[i]);            emit((char)range.maxRange[i]);        }        return ret;    }    /**     * Absorb an atomic character string.  This method is a little tricky because     * it can un-include the last character of string if a closure operator follows.     * This is correct because *+? have higher precedence than concatentation (thus     * ABC* means AB(C*) and NOT (ABC)*).     * @return Index of new atom node     * @exception RESyntaxException Thrown if the regular expression has invalid syntax.     */    int atom() throws RESyntaxException    {        // Create a string node        int ret = node(RE.OP_ATOM, 0);        // Length of atom        int lenAtom = 0;        // Loop while we've got input        atomLoop:        while (idx < len)        {            // Is there a next char?            if ((idx + 1) < len)            {                char c = pattern.charAt(idx + 1);                // If the next 'char' is an escape, look past the whole escape                if (pattern.charAt(idx) == '\\')                {                    int idxEscape = idx;                    escape();                    if (idx < len)                    {                        c = pattern.charAt(idx);                    }                    idx = idxEscape;                }                // Switch on next char                switch (c)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久久一区二区三区四区| 日韩欧美一区电影| 亚洲亚洲精品在线观看| 91福利在线免费观看| 亚洲啪啪综合av一区二区三区| 不卡高清视频专区| 亚洲一区二区不卡免费| 在线成人av网站| 九九精品一区二区| 亚洲国产精品成人综合| 色94色欧美sute亚洲线路一久 | 久久只精品国产| 国产精品亚洲第一区在线暖暖韩国 | 成人亚洲精品久久久久软件| 国产精品蜜臀av| 在线观看成人小视频| 日韩av在线播放中文字幕| 26uuu精品一区二区| 亚洲人亚洲人成电影网站色| 日本高清无吗v一区| 一区二区免费视频| 欧美日韩1234| 国产一区二区0| 亚洲一区二区在线免费观看视频| 日韩精品一区在线| 91丨porny丨蝌蚪视频| 青草国产精品久久久久久| 国产精品三级久久久久三级| 欧美午夜精品久久久久久孕妇| 理论片日本一区| 中文字幕亚洲在| 欧美一级一区二区| 99麻豆久久久国产精品免费优播| 性欧美疯狂xxxxbbbb| 国产精品三级av在线播放| 欧美一区二区三区喷汁尤物| av爱爱亚洲一区| 精品无人码麻豆乱码1区2区| 亚洲男同性视频| 久久九九久精品国产免费直播| 欧美性猛交一区二区三区精品| 国产精品一品视频| 日本视频在线一区| 亚洲免费在线看| 国产欧美日韩另类一区| 日韩一级大片在线| 欧美在线三级电影| 成人av影院在线| 国产一区二区剧情av在线| 日韩精品成人一区二区三区| 伊人一区二区三区| 国产精品入口麻豆九色| 精品国产3级a| 91麻豆精品国产91久久久久久久久 | 丁香啪啪综合成人亚洲小说| 日本伊人精品一区二区三区观看方式| 亚洲伦在线观看| 中文字幕欧美日韩一区| 精品久久人人做人人爱| 欧美一区二区三区四区视频| 日本韩国欧美国产| www.欧美色图| 懂色av中文一区二区三区| 国内精品国产成人国产三级粉色| 日韩av中文字幕一区二区三区| 一区二区三区免费网站| 亚洲欧洲综合另类在线| 国产精品成人免费| 中文字幕成人av| 中文幕一区二区三区久久蜜桃| 精品国产一二三区| 欧美一区二区在线不卡| 欧美日韩aaaaa| 欧美精品一二三四| 欧美理论片在线| 在线不卡中文字幕播放| 91精品国产色综合久久不卡蜜臀| 欧美午夜一区二区| 欧美剧在线免费观看网站| 欧美日韩一区三区| 精品视频一区二区三区免费| 欧美性做爰猛烈叫床潮| 欧美日韩一二区| 91精品国产色综合久久不卡蜜臀 | 久久综合狠狠综合久久激情| 精品国产网站在线观看| 久久综合久久综合久久综合| 久久久久久久久久久黄色| 国产亲近乱来精品视频| 国产精品女同一区二区三区| 中文字幕永久在线不卡| 一二三区精品福利视频| 偷拍一区二区三区| 青青青伊人色综合久久| 国产美女精品人人做人人爽| 成人性生交大片免费看中文 | 国产一区二区在线影院| 国产成人精品www牛牛影视| 不卡高清视频专区| 欧美撒尿777hd撒尿| 制服丝袜在线91| 久久久久9999亚洲精品| 亚洲视频资源在线| 日本不卡视频一二三区| 激情偷乱视频一区二区三区| 成人av免费网站| 欧美四级电影网| 精品久久久久久久久久久久久久久| 国产午夜精品久久久久久久| 又紧又大又爽精品一区二区| 人人精品人人爱| 成人a区在线观看| 在线播放欧美女士性生活| 久久久久久久网| 亚洲成人免费观看| 国产不卡在线播放| 欧美精品一二三| 国产精品嫩草影院com| 日韩中文字幕一区二区三区| 高清不卡在线观看| 欧美亚洲免费在线一区| 久久久影院官网| 一区二区三区四区精品在线视频| 久色婷婷小香蕉久久| 在线看一区二区| 久久久久99精品国产片| 日韩国产在线观看一区| 99久久精品免费观看| 亚洲精品在线免费观看视频| 亚洲理论在线观看| 国产精品资源网| 日韩一级精品视频在线观看| 亚洲综合色区另类av| 不卡的av在线播放| 欧美精品一区二区三区高清aⅴ| 亚洲一区二区三区国产| 国产91精品露脸国语对白| 91精品在线观看入口| 一色屋精品亚洲香蕉网站| 久久精品国产秦先生| 欧美视频在线一区二区三区 | 五月天激情综合网| av成人动漫在线观看| 久久只精品国产| 久久99久久久久久久久久久| 欧美日韩电影在线| 亚洲婷婷综合久久一本伊一区| 国产成人久久精品77777最新版本| 91精品久久久久久蜜臀| 亚洲宅男天堂在线观看无病毒| 9i在线看片成人免费| 中文字幕第一区二区| 高清久久久久久| 久久人人爽爽爽人久久久| 麻豆一区二区在线| 69p69国产精品| 日韩av成人高清| 91.成人天堂一区| 午夜免费欧美电影| 欧美日韩免费在线视频| 一区二区三区中文字幕电影| 91香蕉国产在线观看软件| 国产精品美女久久久久久久久久久| 韩国av一区二区| 精品国产乱码91久久久久久网站| 蜜桃久久av一区| 精品国产麻豆免费人成网站| 久久电影国产免费久久电影 | 成人精品国产一区二区4080| 国产色婷婷亚洲99精品小说| 国产成人鲁色资源国产91色综 | 欧美第一区第二区| 久久精品国产亚洲aⅴ| 精品av久久707| 国产精品亚洲专一区二区三区 | 亚洲码国产岛国毛片在线| 91美女视频网站| 亚洲成人免费av| 日韩精品在线一区| 国产精品一卡二卡在线观看| 欧美丝袜第三区| 国产精品乱人伦中文| 99精品热视频| 亚洲小说春色综合另类电影| 欧美高清dvd| 九九精品一区二区| 中文字幕av一区二区三区高| 色综合天天综合狠狠| 亚洲国产日韩精品| 日韩精品中文字幕在线一区| 成人一二三区视频| 亚洲精品美腿丝袜| 欧美人体做爰大胆视频| 久久99精品久久久| 国产精品久久久久久户外露出| 欧美视频一区二区在线观看| 久久国产精品99久久久久久老狼| 欧美极品美女视频| 欧美性猛交一区二区三区精品| 免费日韩伦理电影|