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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? re.java

?? jakarta-regexp-1.5 正則表達式的源代碼
?? JAVA
?? 第 1 頁 / 共 5 頁
字號:
        // Didn't match        parenCount = 0;        return false;    }    /**     * Matches the current regular expression program against a character array,     * starting at a given index.     *     * @param search String to match against     * @param i Index to start searching at     * @return True if string matched     */    public boolean match(String search, int i)    {        return match(new StringCharacterIterator(search), i);    }    /**     * Matches the current regular expression program against a character array,     * starting at a given index.     *     * @param search String to match against     * @param i Index to start searching at     * @return True if string matched     */    public boolean match(CharacterIterator search, int i)    {        // There is no compiled program to search with!        if (program == null)        {            // This should be uncommon enough to be an error case rather            // than an exception (which would have to be handled everywhere)            internalError("No RE program to run!");        }        // Save string to search        this.search = search;        // Can we optimize the search by looking for new lines?        if ((program.flags & REProgram.OPT_HASBOL) == REProgram.OPT_HASBOL)        {            // Non multi-line matching with BOL: Must match at '0' index            if ((matchFlags & MATCH_MULTILINE) == 0)            {                return i == 0 && matchAt(i);            }            // Multi-line matching with BOL: Seek to next line            for ( ;! search.isEnd(i); i++)            {                // Skip if we are at the beginning of the line                if (isNewline(i))                {                    continue;                }                // Match at the beginning of the line                if (matchAt(i))                {                    return true;                }                // Skip to the end of line                for ( ;! search.isEnd(i); i++)                {                    if (isNewline(i))                    {                        break;                    }                }            }            return false;        }        // Can we optimize the search by looking for a prefix string?        if (program.prefix == null)        {            // Unprefixed matching must try for a match at each character            for ( ;! search.isEnd(i - 1); i++)            {                // Try a match at index i                if (matchAt(i))                {                    return true;                }            }            return false;        }        else        {            // Prefix-anchored matching is possible            boolean caseIndependent = (matchFlags & MATCH_CASEINDEPENDENT) != 0;            char[] prefix = program.prefix;            for ( ; !search.isEnd(i + prefix.length - 1); i++)            {                int j = i;                int k = 0;                boolean match;                do {                    // If there's a mismatch of any character in the prefix, give up                    match = (compareChars(search.charAt(j++), prefix[k++], caseIndependent) == 0);                } while (match && k < prefix.length);                // See if the whole prefix string matched                if (k == prefix.length)                {                    // We matched the full prefix at firstChar, so try it                    if (matchAt(i))                    {                        return true;                    }                }            }            return false;        }    }    /**     * Matches the current regular expression program against a String.     *     * @param search String to match against     * @return True if string matched     */    public boolean match(String search)    {        return match(search, 0);    }    /**     * Splits a string into an array of strings on regular expression boundaries.     * This function works the same way as the Perl function of the same name.     * Given a regular expression of "[ab]+" and a string to split of     * "xyzzyababbayyzabbbab123", the result would be the array of Strings     * "[xyzzy, yyz, 123]".     *     * <p>Please note that the first string in the resulting array may be an empty     * string. This happens when the very first character of input string is     * matched by the pattern.     *     * @param s String to split on this regular exression     * @return Array of strings     */    public String[] split(String s)    {        // Create new vector        Vector v = new Vector();        // Start at position 0 and search the whole string        int pos = 0;        int len = s.length();        // Try a match at each position        while (pos < len && match(s, pos))        {            // Get start of match            int start = getParenStart(0);            // Get end of match            int newpos = getParenEnd(0);            // Check if no progress was made            if (newpos == pos)            {                v.addElement(s.substring(pos, start + 1));                newpos++;            }            else            {                v.addElement(s.substring(pos, start));            }            // Move to new position            pos = newpos;        }        // Push remainder if it's not empty        String remainder = s.substring(pos);        if (remainder.length() != 0)        {            v.addElement(remainder);        }        // Return vector as an array of strings        String[] ret = new String[v.size()];        v.copyInto(ret);        return ret;    }    /**     * Flag bit that indicates that subst should replace all occurrences of this     * regular expression.     */    public static final int REPLACE_ALL            = 0x0000;    /**     * Flag bit that indicates that subst should only replace the first occurrence     * of this regular expression.     */    public static final int REPLACE_FIRSTONLY      = 0x0001;    /**     * Flag bit that indicates that subst should replace backreferences     */    public static final int REPLACE_BACKREFERENCES = 0x0002;    /**     * Substitutes a string for this regular expression in another string.     * This method works like the Perl function of the same name.     * Given a regular expression of "a*b", a String to substituteIn of     * "aaaabfooaaabgarplyaaabwackyb" and the substitution String "-", the     * resulting String returned by subst would be "-foo-garply-wacky-".     *     * @param substituteIn String to substitute within     * @param substitution String to substitute for all matches of this regular expression.     * @return The string substituteIn with zero or more occurrences of the current     * regular expression replaced with the substitution String (if this regular     * expression object doesn't match at any position, the original String is returned     * unchanged).     */    public String subst(String substituteIn, String substitution)    {        return subst(substituteIn, substitution, REPLACE_ALL);    }    /**     * Substitutes a string for this regular expression in another string.     * This method works like the Perl function of the same name.     * Given a regular expression of "a*b", a String to substituteIn of     * "aaaabfooaaabgarplyaaabwackyb" and the substitution String "-", the     * resulting String returned by subst would be "-foo-garply-wacky-".     * <p>     * It is also possible to reference the contents of a parenthesized expression     * with $0, $1, ... $9. A regular expression of "http://[\\.\\w\\-\\?/~_@&=%]+",     * a String to substituteIn of "visit us: http://www.apache.org!" and the     * substitution String "&lt;a href=\"$0\"&gt;$0&lt;/a&gt;", the resulting String     * returned by subst would be     * "visit us: &lt;a href=\"http://www.apache.org\"&gt;http://www.apache.org&lt;/a&gt;!".     * <p>     * <i>Note:</i> $0 represents the whole match.     *     * @param substituteIn String to substitute within     * @param substitution String to substitute for matches of this regular expression     * @param flags One or more bitwise flags from REPLACE_*.  If the REPLACE_FIRSTONLY     * flag bit is set, only the first occurrence of this regular expression is replaced.     * If the bit is not set (REPLACE_ALL), all occurrences of this pattern will be     * replaced. If the flag REPLACE_BACKREFERENCES is set, all backreferences will     * be processed.     * @return The string substituteIn with zero or more occurrences of the current     * regular expression replaced with the substitution String (if this regular     * expression object doesn't match at any position, the original String is returned     * unchanged).     */    public String subst(String substituteIn, String substitution, int flags)    {        // String to return        StringBuffer ret = new StringBuffer();        // Start at position 0 and search the whole string        int pos = 0;        int len = substituteIn.length();        // Try a match at each position        while (pos < len && match(substituteIn, pos))        {            // Append string before match            ret.append(substituteIn.substring(pos, getParenStart(0)));            if ((flags & REPLACE_BACKREFERENCES) != 0)            {                // Process backreferences                int lCurrentPosition = 0;                int lLastPosition = -2;                int lLength = substitution.length();                while ((lCurrentPosition = substitution.indexOf("$", lCurrentPosition)) >= 0)                {                    if ((lCurrentPosition == 0 || substitution.charAt(lCurrentPosition - 1) != '\\')                        && lCurrentPosition + 1 < lLength)                    {                        char c = substitution.charAt(lCurrentPosition + 1);                        if (c >= '0' && c <= '9')                        {                            // Append everything between the last and the current $ sign                            ret.append(substitution.substring(lLastPosition + 2, lCurrentPosition));                            // Append the parenthesized expression, if present                            String val = getParen(c - '0');                            if (val != null) {                                ret.append(val);                            }                            lLastPosition = lCurrentPosition;                        }                    }                    // Move forward, skipping past match                    lCurrentPosition++;                }                // Append everything after the last $ sign                ret.append(substitution.substring(lLastPosition + 2, lLength));            }            else            {                // Append substitution without processing backreferences                ret.append(substitution);            }            // Move forward, skipping past match            int newpos = getParenEnd(0);            // We always want to make progress!            if (newpos == pos)            {                newpos++;            }            // Try new position            pos = newpos;            // Break out if we're only supposed to replace one occurrence            if ((flags & REPLACE_FIRSTONLY) != 0)            {                break;            }        }        // If there's remaining input, append it        if (pos < len)        {            ret.append(substituteIn.substring(pos));        }        // Return string buffer as string        return ret.toString();    }    /**     * Returns an array of Strings, whose toString representation matches a regular     * expression. This method works like the Perl function of the same name.  Given     * a regular expression of "a*b" and an array of String objects of [foo, aab, zzz,     * aaaab], the array of Strings returned by grep would be [aab, aaaab].     *     * @param search Array of Objects to search     * @return Array of String

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人黄色小视频| 免费观看一级特黄欧美大片| www.日韩大片| 国产精品视频看| 成人免费的视频| 国产精品家庭影院| 91免费看片在线观看| 亚洲一区国产视频| 欧美疯狂性受xxxxx喷水图片| 爽好久久久欧美精品| 欧美videofree性高清杂交| 加勒比av一区二区| 国产精品福利影院| 欧美在线视频日韩| 久久成人免费网站| 国产精品无码永久免费888| 99在线视频精品| 日韩精品一区第一页| 久久色在线观看| 91电影在线观看| 日本不卡视频在线观看| 国产亚洲精品精华液| 日本精品裸体写真集在线观看| 午夜免费久久看| 国产三区在线成人av| 欧美亚洲一区三区| 韩国欧美国产1区| 亚洲精品免费播放| 亚洲精品一区二区三区影院 | 麻豆91精品91久久久的内涵| 精品国产一区二区三区忘忧草| av激情成人网| 蜜臀久久久99精品久久久久久| 国产精品丝袜久久久久久app| 日本黄色一区二区| 国产精品影音先锋| 性欧美大战久久久久久久久| 欧美精品一区二区三区蜜臀| 欧美影院午夜播放| 国产成人精品影视| 日韩国产成人精品| 亚洲人成在线观看一区二区| 日韩精品一区二区三区中文不卡| 97se亚洲国产综合自在线| 韩国女主播成人在线| 亚洲国产精品天堂| 亚洲视频一区二区免费在线观看| 日韩欧美在线综合网| 色婷婷亚洲综合| 国产99久久久国产精品潘金| 日本不卡一区二区| 亚洲午夜影视影院在线观看| 国产精品国产自产拍高清av王其| 日韩欧美亚洲一区二区| 欧美日韩视频在线第一区 | 亚洲婷婷综合色高清在线| 精品国产一区二区在线观看| 欧美巨大另类极品videosbest | 午夜免费欧美电影| 亚洲精品日产精品乱码不卡| 国产精品嫩草影院com| 日韩精品一区二区三区四区| 欧美欧美欧美欧美首页| 色婷婷久久久久swag精品| 成人动漫av在线| 国产福利一区二区三区视频在线| 久久精品国产亚洲高清剧情介绍 | 国产寡妇亲子伦一区二区| 日本vs亚洲vs韩国一区三区| 午夜久久久久久| 亚洲国产sm捆绑调教视频 | 蜜桃精品视频在线| 无码av中文一区二区三区桃花岛| 亚洲激情av在线| 亚洲乱码日产精品bd| 国产精品高潮呻吟久久| 日韩一区中文字幕| 中文字幕av一区二区三区高| 亚洲国产精品av| 国产精品亲子乱子伦xxxx裸| 国产丝袜欧美中文另类| 国产欧美一区二区三区在线老狼| 久久综合色8888| 久久久久国产成人精品亚洲午夜| 久久综合久久久久88| 国产日韩av一区| 国产精品毛片久久久久久| 亚洲三级免费观看| 亚洲综合图片区| 免费在线一区观看| 精品一区二区综合| 国产精品一区二区不卡| 成人黄色777网| 一本一道久久a久久精品| 欧美性生活久久| 日韩一区二区三区视频| 久久这里都是精品| 中文字幕乱码日本亚洲一区二区| 亚洲欧洲美洲综合色网| 亚洲国产精品久久久久秋霞影院 | 国产成人精品aa毛片| 粉嫩嫩av羞羞动漫久久久| 97se亚洲国产综合自在线不卡| 色综合视频在线观看| 91麻豆精品国产91久久久更新时间| 日韩一区二区电影在线| 久久综合999| 有码一区二区三区| 看片网站欧美日韩| 成人深夜视频在线观看| 欧美日韩中文一区| 久久久蜜桃精品| 亚洲综合一区二区精品导航| 久久se精品一区二区| 91在线无精精品入口| 日韩欧美国产一二三区| 国产精品国产三级国产普通话蜜臀| 午夜视频一区在线观看| 国产高清不卡二三区| 欧美浪妇xxxx高跟鞋交| 欧美高清在线一区二区| 日韩中文字幕一区二区三区| 高潮精品一区videoshd| 欧美日韩一区小说| 国产精品免费aⅴ片在线观看| 亚洲观看高清完整版在线观看 | 日本伊人精品一区二区三区观看方式 | 欧美性欧美巨大黑白大战| 日韩精品在线看片z| 一区二区三区国产精华| 国产成人一区在线| 欧美色男人天堂| 国产精品初高中害羞小美女文| 婷婷中文字幕一区三区| 成人激情小说网站| 精品少妇一区二区三区免费观看 | 亚洲18女电影在线观看| caoporn国产精品| 欧美va亚洲va| 日韩经典一区二区| 91国内精品野花午夜精品 | 亚洲精品一区二区三区四区高清| 亚洲一区免费观看| 99精品久久99久久久久| 久久亚洲一区二区三区四区| 天天影视网天天综合色在线播放| 99久久婷婷国产精品综合| 2020国产精品久久精品美国| 日韩二区三区四区| 欧美日韩国产精品成人| 亚洲免费观看高清完整版在线观看| 国产一区二区三区观看| 欧美tickle裸体挠脚心vk| 日韩中文字幕麻豆| 制服丝袜成人动漫| 一个色妞综合视频在线观看| 色香蕉成人二区免费| 亚洲免费在线看| 成人动漫精品一区二区| 中文字幕在线视频一区| 高清成人在线观看| 国产精品视频第一区| 成人av在线一区二区三区| 国产午夜精品美女毛片视频| 美女精品自拍一二三四| 日韩精品久久理论片| 天天影视涩香欲综合网| 在线观看视频一区二区欧美日韩| 一区二区免费视频| 欧美国产激情二区三区| 日韩欧美激情四射| 国产一区视频网站| 国产欧美精品区一区二区三区| 国产成人午夜高潮毛片| 欧美v国产在线一区二区三区| 午夜a成v人精品| 色综合天天做天天爱| 狠狠色丁香久久婷婷综合丁香| 欧美一二三在线| 亚洲欧美日本韩国| 久久精品视频一区| 国产精品18久久久久| 亚洲免费av高清| 久久久av毛片精品| 日韩一区二区电影| 午夜精品123| aaa亚洲精品| 国产乱子伦一区二区三区国色天香| 欧美人与禽zozo性伦| 日韩精品福利网| 成人18精品视频| 国产精品一区二区三区网站| 蜜桃在线一区二区三区| 一区二区激情视频| 亚洲欧美色图小说| 日韩一区和二区| 亚洲欧洲日韩在线| 最新国产精品久久精品| 国产农村妇女毛片精品久久麻豆| 日韩欧美一卡二卡|