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

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

?? regexpimpl.java

?? 主要的怎么樣結(jié)合java 和 javascript!
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- * * The contents of this file are subject to the Netscape Public * License Version 1.1 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of * the License at http://www.mozilla.org/NPL/ * * Software distributed under the License is distributed on an "AS * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or * implied. See the License for the specific language governing * rights and limitations under the License. * * The Original Code is Rhino code, released * May 6, 1998. * * The Initial Developer of the Original Code is Netscape * Communications Corporation.  Portions created by Netscape are * Copyright (C) 1997-1999 Netscape Communications Corporation. All * Rights Reserved. * * Contributor(s): * * Alternatively, the contents of this file may be used under the * terms of the GNU Public License (the "GPL"), in which case the * provisions of the GPL are applicable instead of those above. * If you wish to allow use of your version of this file only * under the terms of the GPL and not to allow others to use your * version of this file under the NPL, indicate your decision by * deleting the provisions above and replace them with the notice * and other provisions required by the GPL.  If you do not delete * the provisions above, a recipient may use your version of this * file under either the NPL or the GPL. */package org.mozilla.javascript.regexp;import org.mozilla.javascript.*;/** * */public class RegExpImpl implements RegExpProxy {    public boolean isRegExp(Scriptable obj) {        return obj instanceof NativeRegExp;    }    public Object compileRegExp(Context cx, String source, String flags)    {        return NativeRegExp.compileRE(source, flags, false);    }    public Scriptable wrapRegExp(Context cx, Scriptable scope,                                 Object compiled)    {        return new NativeRegExp(scope, compiled);    }    public Object action(Context cx, Scriptable scope,                         Scriptable thisObj, Object[] args,                         int actionType)    {        GlobData data = new GlobData();        data.mode = actionType;        switch (actionType) {          case RA_MATCH:            {                Object rval;                data.optarg = 1;                rval = matchOrReplace(cx, scope, thisObj, args,                                      this, data, false);                return data.arrayobj == null ? rval : data.arrayobj;            }          case RA_SEARCH:            data.optarg = 1;            return matchOrReplace(cx, scope, thisObj, args,                                  this, data, false);          case RA_REPLACE:            {                Object arg1 = args.length < 2 ? Undefined.instance : args[1];                String repstr = null;                Function lambda = null;                if (arg1 instanceof Function) {                    lambda = (Function) arg1;                } else {                    repstr = ScriptRuntime.toString(arg1);                }                data.optarg = 2;                data.lambda = lambda;                data.repstr = repstr;                data.dollar = repstr == null ? -1 : repstr.indexOf('$');                data.charBuf = null;                data.leftIndex = 0;                Object val = matchOrReplace(cx, scope, thisObj, args,                                            this, data, true);                SubString rc = this.rightContext;                if (data.charBuf == null) {                    if (data.global || val == null                        || !val.equals(Boolean.TRUE))                    {                        /* Didn't match even once. */                        return data.str;                    }                    SubString lc = this.leftContext;                    replace_glob(data, cx, scope, this, lc.index, lc.length);                }                data.charBuf.append(rc.charArray, rc.index, rc.length);                return data.charBuf.toString();            }          default:            throw Kit.codeBug();        }    }    /**     * Analog of C match_or_replace.     */    private static Object matchOrReplace(Context cx, Scriptable scope,                                         Scriptable thisObj, Object[] args,                                         RegExpImpl reImpl,                                         GlobData data, boolean forceFlat)    {        NativeRegExp re;        String str = ScriptRuntime.toString(thisObj);        data.str = str;        Scriptable topScope = ScriptableObject.getTopLevelScope(scope);        if (args.length == 0) {            Object compiled = NativeRegExp.compileRE("", "", false);            re = new NativeRegExp(topScope, compiled);        } else if (args[0] instanceof NativeRegExp) {            re = (NativeRegExp) args[0];        } else {            String src = ScriptRuntime.toString(args[0]);            String opt;            if (data.optarg < args.length) {                args[0] = src;                opt = ScriptRuntime.toString(args[data.optarg]);            } else {                opt = null;            }            Object compiled = NativeRegExp.compileRE(src, opt, forceFlat);            re = new NativeRegExp(topScope, compiled);        }        data.regexp = re;        data.global = (re.getFlags() & NativeRegExp.JSREG_GLOB) != 0;        int[] indexp = { 0 };        Object result = null;        if (data.mode == RA_SEARCH) {            result = re.executeRegExp(cx, scope, reImpl,                                      str, indexp, NativeRegExp.TEST);            if (result != null && result.equals(Boolean.TRUE))                result = new Integer(reImpl.leftContext.length);            else                result = new Integer(-1);        } else if (data.global) {            re.lastIndex = 0;            for (int count = 0; indexp[0] <= str.length(); count++) {                result = re.executeRegExp(cx, scope, reImpl,                                          str, indexp, NativeRegExp.TEST);                if (result == null || !result.equals(Boolean.TRUE))                    break;                if (data.mode == RA_MATCH) {                    match_glob(data, cx, scope, count, reImpl);                } else {                    if (data.mode != RA_REPLACE) Kit.codeBug();                    SubString lastMatch = reImpl.lastMatch;                    int leftIndex = data.leftIndex;                    int leftlen = lastMatch.index - leftIndex;                    data.leftIndex = lastMatch.index + lastMatch.length;                    replace_glob(data, cx, scope, reImpl, leftIndex, leftlen);                }                if (reImpl.lastMatch.length == 0) {                    if (indexp[0] == str.length())                        break;                    indexp[0]++;                }            }        } else {            result = re.executeRegExp(cx, scope, reImpl, str, indexp,                                      ((data.mode == RA_REPLACE)                                       ? NativeRegExp.TEST                                       : NativeRegExp.MATCH));        }        return result;    }    public int find_split(Context cx, Scriptable scope, String target,                          String separator, Scriptable reObj,                          int[] ip, int[] matchlen,                          boolean[] matched, String[][] parensp)    {        int i = ip[0];        int length = target.length();        int result;        int version = cx.getLanguageVersion();        NativeRegExp re = (NativeRegExp) reObj;        again:        while (true) {  // imitating C label            /* JS1.2 deviated from Perl by never matching at end of string. */            int ipsave = ip[0]; // reuse ip to save object creation            ip[0] = i;            Object ret = re.executeRegExp(cx, scope, this, target, ip,                                          NativeRegExp.TEST);            if (ret != Boolean.TRUE) {                // Mismatch: ensure our caller advances i past end of string.                ip[0] = ipsave;                matchlen[0] = 1;                matched[0] = false;                return length;            }            i = ip[0];            ip[0] = ipsave;            matched[0] = true;            SubString sep = this.lastMatch;            matchlen[0] = sep.length;            if (matchlen[0] == 0) {                /*                 * Empty string match: never split on an empty                 * match at the start of a find_split cycle.  Same                 * rule as for an empty global match in                 * match_or_replace.                 */                if (i == ip[0]) {                    /*                     * "Bump-along" to avoid sticking at an empty                     * match, but don't bump past end of string --                     * our caller must do that by adding                     * sep->length to our return value.                     */                    if (i == length) {                        if (version == Context.VERSION_1_2) {                            matchlen[0] = 1;                            result = i;                        }                        else                            result = -1;                        break;                    }                    i++;                    continue again; // imitating C goto                }            }            // PR_ASSERT((size_t)i >= sep->length);            result = i - matchlen[0];            break;        }        int size = (parens == null) ? 0 : parens.length;        parensp[0] = new String[size];        for (int num = 0; num < size; num++) {            SubString parsub = getParenSubString(num);            parensp[0][num] = parsub.toString();        }        return result;    }    /**

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产东北露脸精品视频| 91免费国产在线| 欧美色国产精品| 色综合久久综合网97色综合| 色综合久久久久久久久| 制服丝袜亚洲播放| 亚洲国产日韩在线一区模特| 99国内精品久久| 日韩精品最新网址| 日本伊人午夜精品| 99国产精品视频免费观看| 日韩三区在线观看| 奇米色一区二区| 国产91富婆露脸刺激对白| 91精品国产综合久久香蕉麻豆| 一区在线中文字幕| 99视频精品免费视频| 日韩一级视频免费观看在线| 亚洲成人激情av| 99国产欧美久久久精品| 日韩视频不卡中文| 美国三级日本三级久久99| 精品国产乱码久久久久久闺蜜| 奇米在线7777在线精品| 欧美一级精品在线| 国内精品写真在线观看| 国产区在线观看成人精品 | 欧美日韩精品二区第二页| 中国色在线观看另类| 久久99久久99精品免视看婷婷 | 水蜜桃久久夜色精品一区的特点| 欧美一级日韩一级| 久久www免费人成看片高清| 国产亚洲欧美日韩俺去了| 99免费精品视频| 亚洲精品国产一区二区三区四区在线| 97国产精品videossex| 一区二区三区日韩在线观看| 欧美性生活大片视频| 一区在线观看视频| 日韩精品一区二区三区视频播放| 韩国欧美国产一区| 亚洲成在人线在线播放| 国产精品看片你懂得| 欧美日韩精品久久久| 国内精品在线播放| 午夜一区二区三区视频| 亚洲精品一区二区三区蜜桃下载 | 日韩精品成人一区二区三区| 精品久久久网站| av一本久道久久综合久久鬼色| 中文字幕欧美日本乱码一线二线| 欧美日韩亚洲另类| 丁香另类激情小说| 亚洲成a人片综合在线| 亚洲国产精华液网站w | 日本韩国欧美在线| 国产精品一区一区三区| 日韩av二区在线播放| 国产精品夫妻自拍| xfplay精品久久| 5月丁香婷婷综合| 欧美性感一类影片在线播放| 97精品久久久久中文字幕| 国产91精品一区二区麻豆网站| 日本一不卡视频| 一区二区三区免费网站| 最新不卡av在线| 国产精品天干天干在线综合| 久久精品在线观看| 中文字幕av一区二区三区免费看| 国产亚洲精品7777| 久久精品视频网| 国产精品污www在线观看| 久久精品一区二区三区不卡牛牛| 91精品在线观看入口| 91视频一区二区| 91精品久久久久久久99蜜桃| 欧美日本韩国一区二区三区视频| 欧美日韩国产成人在线91| 欧美午夜电影网| 91精品欧美久久久久久动漫| 欧美美女bb生活片| 欧美区视频在线观看| 精品国偷自产国产一区| 国产精品国产三级国产普通话蜜臀 | 麻豆91在线播放免费| 男女男精品网站| 白白色亚洲国产精品| 国产在线视频一区二区| 国产福利精品一区二区| 日本久久一区二区三区| 欧美日韩黄色影视| 国产亚洲欧美日韩在线一区| 国产精品久久久久影院色老大 | 一区二区三区精品| 国产一区视频导航| 欧美午夜精品理论片a级按摩| 宅男在线国产精品| 中文字幕日韩一区| 国产精品一线二线三线| 91精品国产综合久久小美女| 国产精品国产自产拍高清av| 五月婷婷色综合| 色94色欧美sute亚洲13| 国产三级精品三级| 精品一区二区三区不卡| 91麻豆免费在线观看| 久久亚洲精华国产精华液| 五月天婷婷综合| 欧美三级视频在线| 樱花草国产18久久久久| 91在线观看污| 亚洲宅男天堂在线观看无病毒| 成人综合在线视频| 国产欧美一区在线| 久久激情综合网| 精品久久久久久最新网址| 亚洲精品乱码久久久久久| 在线观看中文字幕不卡| 一区二区三区在线免费播放| 国产精品一二一区| 欧美激情一区二区在线| 在线看国产一区二区| 青青国产91久久久久久| 欧美妇女性影城| 韩国视频一区二区| 国产欧美综合在线观看第十页| 99re热这里只有精品免费视频| 亚洲一区av在线| 日韩一卡二卡三卡| 美女任你摸久久| 中国av一区二区三区| 日本韩国一区二区三区视频| 秋霞电影网一区二区| 亚洲午夜久久久久久久久电影网| 91精品国产综合久久国产大片| 午夜av一区二区| 亚洲欧洲一区二区三区| 色综合久久久久综合| 丝袜亚洲另类欧美| 国产欧美日韩另类一区| 日韩一区二区高清| 欧美三区在线观看| 成人久久视频在线观看| 日韩电影在线观看电影| 国产精品区一区二区三区| 51精品秘密在线观看| 99国产麻豆精品| 美女网站一区二区| 日本成人中文字幕| 夜夜精品视频一区二区| 欧美二区在线观看| 91精品一区二区三区久久久久久 | 色狠狠色噜噜噜综合网| 亚洲码国产岛国毛片在线| 欧美乱熟臀69xxxxxx| 91免费国产视频网站| 成人午夜在线视频| 国产一区免费电影| 国内成人自拍视频| 日韩精品福利网| 日本欧美一区二区三区乱码| 首页欧美精品中文字幕| 亚洲大尺度视频在线观看| 三级欧美韩日大片在线看| 亚洲bt欧美bt精品| 亚洲成av人片| 日韩avvvv在线播放| 国产在线麻豆精品观看| a亚洲天堂av| 欧美在线一二三| 日韩一级大片在线| 久久久噜噜噜久久中文字幕色伊伊 | 欧美日韩成人在线一区| 色狠狠色噜噜噜综合网| 中文字幕一区在线观看视频| 99久精品国产| 亚洲午夜三级在线| 91免费国产在线| 亚洲高清在线视频| 91国在线观看| 亚洲成人av资源| 日韩精品综合一本久道在线视频| 久久超级碰视频| 中文无字幕一区二区三区 | 国产亚洲欧洲997久久综合| 国产成人一区在线| 亚洲精品五月天| 欧美福利电影网| 天堂午夜影视日韩欧美一区二区| 久久夜色精品国产欧美乱极品| 成人深夜福利app| 亚洲黄色性网站| 欧美日韩精品欧美日韩精品一综合| 捆绑调教美女网站视频一区| 国产精品久久久爽爽爽麻豆色哟哟| eeuss鲁片一区二区三区 | 亚洲一区二区欧美激情| 欧美一级理论片|