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

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

?? re.java

?? jakarta-regexp-1.5 正則表達式的源代碼
?? JAVA
?? 第 1 頁 / 共 5 頁
字號:
                                    }                                    break;                                case E_SPACE:                                case E_NSPACE:                                    if (!(Character.isWhitespace(c) == (opdata == E_SPACE)))                                    {                                        return -1;                                    }                                    break;                            }                            idx++;                            break;                        default:                            internalError("Unrecognized escape '" + opdata + "'");                    }                    break;                case OP_ANY:                    if ((matchFlags & MATCH_SINGLELINE) == MATCH_SINGLELINE) {                        // Match anything                        if (search.isEnd(idx))                        {                            return -1;                        }                    }                    else                    {                        // Match anything but a newline                        if (search.isEnd(idx) || isNewline(idx))                        {                            return -1;                        }                    }                    idx++;                    break;                case OP_ATOM:                    {                        // Match an atom value                        if (search.isEnd(idx))                        {                            return -1;                        }                        // Get length of atom and starting index                        // int lenAtom = opdata;                        int startAtom = node + nodeSize;                        // Give up if not enough input remains to have a match                        if (search.isEnd(opdata + idx - 1))                        {                            return -1;                        }                        // Match atom differently depending on casefolding flag                        final boolean caseFold =                            ((matchFlags & MATCH_CASEINDEPENDENT) != 0);                        for (int i = 0; i < opdata; i++)                        {                            if (compareChars(search.charAt(idx++), instruction[startAtom + i], caseFold) != 0)                            {                                return -1;                            }                        }                    }                    break;                case OP_POSIXCLASS:                    {                        // Out of input?                        if (search.isEnd(idx))                        {                            return -1;                        }                        switch (opdata)                        {                            case POSIX_CLASS_ALNUM:                                if (!Character.isLetterOrDigit(search.charAt(idx)))                                {                                    return -1;                                }                                break;                            case POSIX_CLASS_ALPHA:                                if (!Character.isLetter(search.charAt(idx)))                                {                                    return -1;                                }                                break;                            case POSIX_CLASS_DIGIT:                                if (!Character.isDigit(search.charAt(idx)))                                {                                    return -1;                                }                                break;                            case POSIX_CLASS_BLANK: // JWL - bugbug: is this right??                                if (!Character.isSpaceChar(search.charAt(idx)))                                {                                    return -1;                                }                                break;                            case POSIX_CLASS_SPACE:                                if (!Character.isWhitespace(search.charAt(idx)))                                {                                    return -1;                                }                                break;                            case POSIX_CLASS_CNTRL:                                if (Character.getType(search.charAt(idx)) != Character.CONTROL)                                {                                    return -1;                                }                                break;                            case POSIX_CLASS_GRAPH: // JWL - bugbug???                                switch (Character.getType(search.charAt(idx)))                                {                                    case Character.MATH_SYMBOL:                                    case Character.CURRENCY_SYMBOL:                                    case Character.MODIFIER_SYMBOL:                                    case Character.OTHER_SYMBOL:                                        break;                                    default:                                        return -1;                                }                                break;                            case POSIX_CLASS_LOWER:                                if (Character.getType(search.charAt(idx)) != Character.LOWERCASE_LETTER)                                {                                    return -1;                                }                                break;                            case POSIX_CLASS_UPPER:                                if (Character.getType(search.charAt(idx)) != Character.UPPERCASE_LETTER)                                {                                    return -1;                                }                                break;                            case POSIX_CLASS_PRINT:                                if (Character.getType(search.charAt(idx)) == Character.CONTROL)                                {                                    return -1;                                }                                break;                            case POSIX_CLASS_PUNCT:                            {                                int type = Character.getType(search.charAt(idx));                                switch(type)                                {                                    case Character.DASH_PUNCTUATION:                                    case Character.START_PUNCTUATION:                                    case Character.END_PUNCTUATION:                                    case Character.CONNECTOR_PUNCTUATION:                                    case Character.OTHER_PUNCTUATION:                                        break;                                    default:                                        return -1;                                }                            }                            break;                            case POSIX_CLASS_XDIGIT: // JWL - bugbug??                            {                                boolean isXDigit = ((search.charAt(idx) >= '0' && search.charAt(idx) <= '9') ||                                                    (search.charAt(idx) >= 'a' && search.charAt(idx) <= 'f') ||                                                    (search.charAt(idx) >= 'A' && search.charAt(idx) <= 'F'));                                if (!isXDigit)                                {                                    return -1;                                }                            }                            break;                            case POSIX_CLASS_JSTART:                                if (!Character.isJavaIdentifierStart(search.charAt(idx)))                                {                                    return -1;                                }                                break;                            case POSIX_CLASS_JPART:                                if (!Character.isJavaIdentifierPart(search.charAt(idx)))                                {                                    return -1;                                }                                break;                            default:                                internalError("Bad posix class");                                break;                        }                        // Matched.                        idx++;                    }                    break;                case OP_ANYOF:                    {                        // Out of input?                        if (search.isEnd(idx))                        {                            return -1;                        }                        // Get character to match against character class and maybe casefold                        char c = search.charAt(idx);                        boolean caseFold = (matchFlags & MATCH_CASEINDEPENDENT) != 0;                        // Loop through character class checking our match character                        int idxRange = node + nodeSize;                        int idxEnd = idxRange + (opdata * 2);                        boolean match = false;                        for (int i = idxRange; !match && i < idxEnd; )                        {                            // Get start, end and match characters                            char s = instruction[i++];                            char e = instruction[i++];                            match = ((compareChars(c, s, caseFold) >= 0)                                     && (compareChars(c, e, caseFold) <= 0));                        }                        // Fail if we didn't match the character class                        if (!match)                        {                            return -1;                        }                        idx++;                    }                    break;                case OP_BRANCH:                {                    // Check for choices                    // FIXME Dead code - only reason to keep is backward compat with pre-compiled exprs. Remove?                    if (instruction[next /* + offsetOpcode */] != OP_BRANCH)                    {                        // If there aren't any other choices, just evaluate this branch.                        node += nodeSize;                        continue;                    }                    // Try all available branches                    int nextBranch;                    do                    {                        // Try matching the branch against the string                        if ((idxNew = matchNodes(node + nodeSize, maxNode, idx)) != -1)                        {                            return idxNew;                        }                        // Go to next branch (if any)                        nextBranch = (short) instruction[node + offsetNext];                        node += nextBranch;                    }                    while (nextBranch != 0 && (instruction[node /* + offsetOpcode */] == OP_BRANCH));                    // Failed to match any branch!                    return -1;                }                case OP_OPEN_CLUSTER:                case OP_CLOSE_CLUSTER:                    // starting or ending the matching of a subexpression which has no backref.                case OP_NOTHING:                case OP_GOTO:                    // Just advance to the next node without doing anything                    break;                case OP_CONTINUE:                    // Advance to the following node                    node += nodeSize;                    continue;                case OP_END:                    // Match has succeeded!                    setParenEnd(0, idx);                    return idx;                default:                    // Corrupt program                    internalError("Invalid opcode '" + opcode + "'");            }            // Advance to the next node in the program            node = next;        }        // We "should" never end up here        internalError("Corrupt program");        return -1;    }    /**     * Match the current regular expression program against the current     * input string, starting at index i of the input string.  This method     * is only meant for internal use.     *     * @param i The input string index to start matching at     * @return True if the input matched the expression     */    protected boolean matchAt(int i)    {        // Initialize start pointer, paren cache and paren count        start0 = -1;        end0   = -1;        start1 = -1;        end1   = -1;        start2 = -1;        end2   = -1;        startn = null;        endn   = null;        parenCount = 1;        setParenStart(0, i);        // Allocate backref arrays (unless optimizations indicate otherwise)        if ((program.flags & REProgram.OPT_HASBACKREFS) != 0)        {            startBackref = new int[maxParen];            endBackref = new int[maxParen];        }        // Match against string        int idx;        if ((idx = matchNodes(0, maxNode, i)) != -1)        {            setParenEnd(0, idx);            return true;        }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精选免费视频| 毛片av一区二区三区| 性做久久久久久免费观看| 婷婷一区二区三区| 国产一区二区视频在线| 日本精品视频一区二区三区| 日韩欧美色综合| 亚洲色图一区二区| 国内成人精品2018免费看| 91视频国产观看| 精品sm捆绑视频| 亚洲电影一级黄| 成人动漫中文字幕| 日韩免费性生活视频播放| 亚洲人成网站色在线观看| 玖玖九九国产精品| 在线免费一区三区| 中文字幕欧美日本乱码一线二线 | 97超碰欧美中文字幕| 欧美性一区二区| 久久综合狠狠综合| 天天爽夜夜爽夜夜爽精品视频| 国产成a人亚洲精品| 777欧美精品| 一区二区久久久久| 日韩精品一级中文字幕精品视频免费观看 | 中文字幕一区二区三区av | 欧美精品一区二区不卡| 亚洲三级小视频| 成人av网站在线观看| 国产精品美女www爽爽爽| 成人性生交大片免费看中文网站| 国产日韩欧美制服另类| 国产 日韩 欧美大片| 亚洲国产成人在线| 91亚洲永久精品| 亚洲人亚洲人成电影网站色| 99re视频精品| 亚洲免费在线视频| 欧美午夜宅男影院| 青娱乐精品视频在线| 精品毛片乱码1区2区3区| 国产在线播精品第三| 国产精品网友自拍| 色欧美片视频在线观看在线视频| 亚洲精品国产第一综合99久久| 欧美午夜精品久久久久久超碰| 亚洲成a人v欧美综合天堂 | 国产午夜精品在线观看| 成人激情综合网站| 亚洲线精品一区二区三区八戒| 91精品视频网| 国产美女精品人人做人人爽| 国产精品五月天| 91蜜桃免费观看视频| 亚洲国产美女搞黄色| 日韩美女视频在线| 成人久久久精品乱码一区二区三区| 国产精品久久久久aaaa樱花| 欧美影院一区二区三区| 经典三级在线一区| 亚洲色图欧美在线| 欧美成人乱码一区二区三区| 不卡视频在线看| 日韩国产成人精品| 欧美国产一区二区在线观看 | 日韩欧美卡一卡二| 99久久精品情趣| 五月综合激情网| 中文字幕欧美日韩一区| 4438亚洲最大| 96av麻豆蜜桃一区二区| 久久超碰97中文字幕| 亚洲精品亚洲人成人网在线播放| 日韩一区二区免费在线电影| 97se亚洲国产综合自在线不卡| 日韩福利电影在线观看| 中文字幕视频一区| 2023国产精品自拍| 欧美三级欧美一级| 高清成人在线观看| 美女任你摸久久| 亚洲一区二区在线播放相泽| 国产女人水真多18毛片18精品视频| 欧美乱妇15p| 成人黄色片在线观看| 久久精品国产精品亚洲精品| 亚洲观看高清完整版在线观看| 国产精品美女一区二区在线观看| 日韩美女主播在线视频一区二区三区 | 久久99精品一区二区三区三区| 亚洲素人一区二区| 欧美韩国日本综合| 亚洲精品在线观看网站| 91精品福利在线一区二区三区| 91麻豆成人久久精品二区三区| 国产福利精品一区二区| 久久99国产精品麻豆| 秋霞电影网一区二区| 亚洲成人免费观看| 亚洲国产视频a| 亚洲精品视频在线看| 国产精品久久久久久福利一牛影视 | 亚洲国产高清aⅴ视频| 久久久久成人黄色影片| 欧美一区二区美女| 欧美喷潮久久久xxxxx| 欧美日韩高清在线| 欧洲精品中文字幕| 91免费国产视频网站| 成人精品免费视频| 波多野结衣在线aⅴ中文字幕不卡| 精品在线播放午夜| 极品美女销魂一区二区三区| 日本欧美大码aⅴ在线播放| 日韩精品乱码免费| 日韩精品亚洲专区| 人禽交欧美网站| 美女视频网站黄色亚洲| 青青草成人在线观看| 久久疯狂做爰流白浆xx| 国产综合色精品一区二区三区| 久久成人综合网| 国产.欧美.日韩| 91蜜桃免费观看视频| 欧美日韩精品专区| 精品国产乱码久久久久久图片| 精品成人私密视频| 欧美激情综合在线| 亚洲免费观看高清完整版在线 | 欧美国产日韩亚洲一区| 亚洲欧美在线观看| 亚洲国产一区二区视频| 免费看欧美女人艹b| 国产电影一区二区三区| 一本大道久久a久久精品综合| 欧美日韩一级片网站| 欧美一级精品在线| 久久亚洲综合色| 亚洲久草在线视频| 奇米精品一区二区三区在线观看一| 久久er99精品| 97精品超碰一区二区三区| 欧美日韩亚洲综合一区| 欧美不卡一区二区三区四区| 1024成人网| 麻豆国产精品777777在线| 成人精品免费视频| 91精品国产免费| 国产精品理伦片| 日韩精品一二区| 不卡免费追剧大全电视剧网站| 欧美日韩国产综合一区二区三区| 91在线精品一区二区三区| 欧美一区二区啪啪| 一区二区免费在线| 国产精品亚洲а∨天堂免在线| 欧美丝袜第三区| 日本一区二区成人在线| 秋霞成人午夜伦在线观看| 色综合久久精品| 久久色.com| 日本欧美肥老太交大片| 在线中文字幕一区| 国产精品免费视频一区| 久久99精品国产.久久久久久| 在线亚洲+欧美+日本专区| 国产色爱av资源综合区| 免费观看久久久4p| 欧美视频在线播放| 国产精品电影一区二区三区| 国产美女精品在线| 日韩女优av电影| 一区二区三区四区高清精品免费观看| 国产美女一区二区| 日韩西西人体444www| 亚洲观看高清完整版在线观看| 97久久精品人人爽人人爽蜜臀| 国产欧美日韩在线视频| 久久国产精品色婷婷| 日韩一区二区电影网| 日韩专区一卡二卡| 欧美精品高清视频| 亚洲电影你懂得| 欧洲精品一区二区三区在线观看| 1024国产精品| 99免费精品视频| 中文字幕国产一区| 成人精品小蝌蚪| 国产精品你懂的在线欣赏| 成人在线综合网| 国产婷婷色一区二区三区四区| 精品在线免费观看| 精品久久久网站| 蜜桃av一区二区在线观看| 欧美一级一级性生活免费录像| 日日夜夜精品视频天天综合网| 欧美日韩国产综合一区二区三区| 香蕉加勒比综合久久 | 欧美在线高清视频|