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

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

?? rematch.java

?? java寫的多功能文件編輯器
?? JAVA
字號:
/* *  gnu/regexp/REMatch.java *  Copyright (C) 1998-2001 Wes Biggs * *  This library is free software; you can redistribute it and/or modify *  it under the terms of the GNU Lesser General Public License as published *  by the Free Software Foundation; either version 2.1 of the License, or *  (at your option) any later version. * *  This library is distributed in the hope that it will be useful, *  but WITHOUT ANY WARRANTY; without even the implied warranty of *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the *  GNU Lesser General Public License for more details. * *  You should have received a copy of the GNU Lesser General Public License *  along with this program; if not, write to the Free Software *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */package gnu.regexp;import java.io.Serializable;/** * An instance of this class represents a match * completed by a gnu.regexp matching function. It can be used * to obtain relevant information about the location of a match * or submatch. * * @author <A HREF="mailto:wes@cacas.org">Wes Biggs</A> */public final class REMatch implements Serializable, Cloneable {    private String matchedText;    // These variables are package scope for fast access within the engine    int eflags; // execution flags this match was made using    // Offset in source text where match was tried.  This is zero-based;    // the actual position in the source text is given by (offset + anchor).    int offset;    // Anchor position refers to the index into the source input    // at which the matching operation began.    // This is also useful for the ANCHORINDEX option.    int anchor;    // Package scope; used by RE.    int index; // used while matching to mark current match position in input    int[] start; // start positions (relative to offset) for each (sub)exp.    int[] end;   // end positions for the same    REMatch next; // other possibility (to avoid having to use arrays)    public Object clone() {	try {	    REMatch copy = (REMatch) super.clone();	    copy.next = null;	    copy.start = (int[]) start.clone();	    copy.end = (int[]) end.clone();	    return copy;	} catch (CloneNotSupportedException e) {	    throw new Error(); // doesn't happen	}    }    void assignFrom(REMatch other) {	start = other.start;	end = other.end;	index = other.index;	// need to deep clone?	next = other.next;    }    REMatch(int subs, int anchor, int eflags) {	start = new int[subs+1];	end = new int[subs+1];	this.anchor = anchor;	this.eflags = eflags;	clear(anchor);    }    void finish(CharIndexed text) {	start[0] = 0;	StringBuffer sb = new StringBuffer();	int i;	for (i = 0; i < end[0]; i++)	    sb.append(text.charAt(i));	matchedText = sb.toString();	for (i = 0; i < start.length; i++) {	    // If any subexpressions didn't terminate, they don't count	    // TODO check if this code ever gets hit	    if ((start[i] == -1) ^ (end[i] == -1)) {		start[i] = -1;		end[i] = -1;	    }	}	next = null; // cut off alternates    }        /** Clears the current match and moves the offset to the new index. */    void clear(int index) {	offset = index;	this.index = 0;	for (int i = 0; i < start.length; i++) {	    start[i] = end[i] = -1;	}	next = null; // cut off alternates    }        /**     * Returns the string matching the pattern.  This makes it convenient     * to write code like the following:     * <P>     * <code>      * REMatch myMatch = myExpression.getMatch(myString);<br>     * if (myMatch != null) System.out.println("Regexp found: "+myMatch);     * </code>     */    public String toString() {	return matchedText;    }        /**     * Returns the index within the input text where the match in its entirety     * began.     */    public int getStartIndex() {	return offset + start[0];    }        /**     * Returns the index within the input string where the match in     * its entirety ends.  The return value is the next position after     * the end of the string; therefore, a match created by the     * following call:     *     * <P>     * <code>REMatch myMatch = myExpression.getMatch(myString);</code>     * <P>     * can be viewed (given that myMatch is not null) by creating     * <P>     * <code>String theMatch = myString.substring(myMatch.getStartIndex(),     * myMatch.getEndIndex());</code>     * <P>     * But you can save yourself that work, since the <code>toString()</code>     * method (above) does exactly that for you.       */    public int getEndIndex() {	return offset + end[0];    }      /**     * Returns the string matching the given subexpression.  The subexpressions     * are indexed starting with one, not zero.  That is, the subexpression     * identified by the first set of parentheses in a regular expression     * could be retrieved from an REMatch by calling match.toString(1).     *     * @param sub Index of the subexpression.     */    public String toString(int sub) {	if ((sub >= start.length) || (start[sub] == -1)) return "";	return (matchedText.substring(start[sub],end[sub]));    }        /**      * Returns the index within the input string used to generate this match     * where subexpression number <i>sub</i> begins, or <code>-1</code> if     * the subexpression does not exist.  The initial position is zero.     *     * @param sub Subexpression index     * @deprecated Use getStartIndex(int) instead.     */    public int getSubStartIndex(int sub) {	if (sub >= start.length) return -1;	int x = start[sub];	return (x == -1) ? x : offset + x;    }        /**      * Returns the index within the input string used to generate this match     * where subexpression number <i>sub</i> begins, or <code>-1</code> if     * the subexpression does not exist.  The initial position is zero.     *     * @param sub Subexpression index     * @since gnu.regexp 1.1.0     */    public int getStartIndex(int sub) {	if (sub >= start.length) return -1;	int x = start[sub];	return (x == -1) ? x : offset + x;    }      /**      * Returns the index within the input string used to generate this match     * where subexpression number <i>sub</i> ends, or <code>-1</code> if     * the subexpression does not exist.  The initial position is zero.     *     * @param sub Subexpression index     * @deprecated Use getEndIndex(int) instead     */    public int getSubEndIndex(int sub) {	if (sub >= start.length) return -1;	int x = end[sub];	return (x == -1) ? x : offset + x;    }        /**      * Returns the index within the input string used to generate this match     * where subexpression number <i>sub</i> ends, or <code>-1</code> if     * the subexpression does not exist.  The initial position is zero.     *     * @param sub Subexpression index     */    public int getEndIndex(int sub) {	if (sub >= start.length) return -1;	int x = end[sub];	return (x == -1) ? x : offset + x;    }        /**     * Substitute the results of this match to create a new string.     * This is patterned after PERL, so the tokens to watch out for are     * <code>$0</code> through <code>$9</code>.  <code>$0</code> matches     * the full substring matched; <code>$<i>n</i></code> matches     * subexpression number <i>n</i>.     *     * @param input A string consisting of literals and <code>$<i>n</i></code> tokens.     */    public String substituteInto(String input) {	// a la Perl, $0 is whole thing, $1 - $9 are subexpressions	StringBuffer output = new StringBuffer();	int pos;	for (pos = 0; pos < input.length()-1; pos++) {	    if ((input.charAt(pos) == '$') && (Character.isDigit(input.charAt(pos+1)))) {		int val = Character.digit(input.charAt(++pos),10);		if (val < start.length) {		    output.append(toString(val));		} 	    } else output.append(input.charAt(pos));	}	if (pos < input.length()) output.append(input.charAt(pos));	return output.toString();    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕成人av| 国产成人精品免费看| 亚洲男人天堂一区| 亚洲裸体xxx| 亚洲精品videosex极品| 亚洲精品水蜜桃| 亚洲综合视频在线观看| 亚洲伊人伊色伊影伊综合网 | 粉嫩蜜臀av国产精品网站| 麻豆国产精品视频| 国内成+人亚洲+欧美+综合在线| 日韩一区精品字幕| 日本午夜一本久久久综合| 国产精品一区久久久久| 激情综合五月天| 国产精品自拍毛片| 国产成人啪免费观看软件 | 国产高清不卡一区二区| 波多野结衣在线一区| 91最新地址在线播放| 日本不卡一区二区三区| 天堂久久久久va久久久久| 国产剧情在线观看一区二区| 国产成人精品三级| 在线欧美一区二区| 欧美精品一区二区久久婷婷| 亚洲男同性视频| 麻豆精品视频在线观看视频| 国产精选一区二区三区| 久久99国产乱子伦精品免费| 99热这里都是精品| 欧美久久一区二区| 久久久精品免费网站| 欧美国产精品v| 午夜精品123| 国产不卡在线视频| 日韩欧美在线不卡| 亚洲另类春色校园小说| 久久不见久久见中文字幕免费| 99v久久综合狠狠综合久久| 91精品欧美综合在线观看最新| 国产精品久久久久影院亚瑟| 日韩va亚洲va欧美va久久| 成a人片亚洲日本久久| 欧美va在线播放| 亚洲高清在线视频| 色综合欧美在线视频区| 久久嫩草精品久久久精品| 丝袜美腿亚洲色图| 一本在线高清不卡dvd| 久久久久国产一区二区三区四区| 亚洲成a人片综合在线| 91免费视频大全| 国产精品欧美综合在线| 国产综合色产在线精品| 欧美一卡二卡在线| 日韩中文字幕亚洲一区二区va在线| 99r精品视频| 国产精品女同互慰在线看| 久久91精品国产91久久小草| 91精品国产麻豆国产自产在线 | 日本韩国欧美在线| 国产精品国产三级国产aⅴ原创 | 99精品欧美一区二区三区小说| 日韩精品一区二区三区四区视频 | 久久亚洲免费视频| 蜜桃视频在线观看一区| 欧美日韩一区二区电影| 亚洲一区二区四区蜜桃| 91蝌蚪porny九色| 亚洲免费电影在线| av亚洲精华国产精华| 自拍偷拍亚洲激情| 91蜜桃免费观看视频| 亚洲国产一区二区视频| 欧美日韩极品在线观看一区| 亚洲一区二区黄色| 337p亚洲精品色噜噜狠狠| 日本一不卡视频| 欧美tickle裸体挠脚心vk| 激情综合色丁香一区二区| 欧美mv日韩mv国产| 国产精品综合久久| 国产精品全国免费观看高清| av网站免费线看精品| 一区二区三区高清在线| 7777女厕盗摄久久久| 国产在线精品一区在线观看麻豆| 日韩欧美色综合网站| 韩国成人福利片在线播放| 国产日韩欧美a| 国产99久久久精品| 中文字幕在线不卡一区二区三区| 91美女在线看| 麻豆一区二区三区| 中日韩av电影| 日本高清不卡在线观看| 亚洲国产综合色| 精品福利在线导航| 国产传媒一区在线| 国产精品成人免费在线| 欧美日韩国产免费一区二区| 国内精品国产成人国产三级粉色| 亚洲欧美综合另类在线卡通| 欧美老肥妇做.爰bbww视频| 国产一区二区0| 亚洲综合一二三区| 久久蜜桃av一区二区天堂| 色狠狠桃花综合| 精品一区二区三区蜜桃| 亚洲精品中文在线观看| 精品久久国产老人久久综合| 一本到不卡精品视频在线观看| 奇米影视在线99精品| 亚洲色图欧美在线| 精品成人一区二区| 欧美亚日韩国产aⅴ精品中极品| 日本成人在线电影网| 亚洲男人的天堂在线aⅴ视频| 精品福利一二区| 欧美区一区二区三区| a美女胸又www黄视频久久| 美女mm1313爽爽久久久蜜臀| 亚洲成国产人片在线观看| 久久久久国产精品麻豆| 欧美日韩国产片| 国产成人精品免费看| 美女免费视频一区二区| 亚洲国产精品嫩草影院| 亚洲三级在线播放| 久久精品欧美一区二区三区不卡| 欧美日韩国产综合一区二区 | 亚洲欧洲三级电影| 国产欧美日韩视频在线观看| 日韩女优电影在线观看| 欧美日本一区二区| 欧美日韩另类国产亚洲欧美一级| 91麻豆swag| 99久久国产综合精品色伊| 国产成人午夜片在线观看高清观看| 青青草精品视频| 日韩电影在线观看电影| 亚洲成人免费电影| 亚洲超碰97人人做人人爱| 亚洲欧美经典视频| 亚洲精品成人少妇| 亚洲美腿欧美偷拍| 玉米视频成人免费看| 亚洲永久精品国产| 一个色在线综合| 午夜视频在线观看一区二区三区| 亚洲一二三四在线观看| 亚洲欧美日韩电影| 亚洲精品中文在线| 亚洲图片欧美综合| 亚洲成人av免费| 麻豆91小视频| 国产在线日韩欧美| 国产高清亚洲一区| 97久久超碰精品国产| 97久久超碰国产精品电影| 色综合久久99| 欧美日韩不卡视频| 欧美不卡一二三| 悠悠色在线精品| 一卡二卡三卡日韩欧美| 亚洲成av人片观看| 国产在线精品不卡| 国产成人高清视频| 欧美在线|欧美| 欧美日韩免费视频| 日韩一二三区视频| 中文字幕高清一区| 一区二区三区在线视频观看58| 中文字幕一区在线观看视频| 依依成人精品视频| 日本特黄久久久高潮| 国产精品一区在线观看乱码| 色婷婷国产精品| 精品剧情在线观看| 亚洲色图制服诱惑| 久久av资源网| 日本高清免费不卡视频| 欧美不卡视频一区| 欧美国产国产综合| 调教+趴+乳夹+国产+精品| 麻豆精品一区二区av白丝在线| 成人综合婷婷国产精品久久蜜臀| 成人高清伦理免费影院在线观看| 91在线视频在线| 欧美成人欧美edvon| 亚洲欧美电影一区二区| 亚洲成人激情自拍| 韩国一区二区在线观看| 99精品黄色片免费大全| 91精品免费在线| 亚洲视频在线一区观看| 国精品**一区二区三区在线蜜桃| 91麻豆国产福利在线观看| 26uuu精品一区二区在线观看|