当前位置: 首页>>代码示例>>Java>>正文


Java MatchResult.end方法代码示例

本文整理汇总了Java中java.util.regex.MatchResult.end方法的典型用法代码示例。如果您正苦于以下问题:Java MatchResult.end方法的具体用法?Java MatchResult.end怎么用?Java MatchResult.end使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在java.util.regex.MatchResult的用法示例。


在下文中一共展示了MatchResult.end方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: skipQuoted

import java.util.regex.MatchResult; //导入方法依赖的package包/类
int skipQuoted(String line, Matcher quote, MatchResult q) {
    // First is a quote, skip until next (not escaped) quote is seen
    int p = q.end();
    int p1 = quoteRestart(q);
    MatchResult q1 = find(quote, p1);
    if (q1 == null) {
        // No more quotes in the line, we are inside a string not closed in this line
        eventHandler.onQuoted(line.substring(p), true, false);
        isInsideString = true;
        p = line.length();
    } else {
        // Emit this string and advance
        eventHandler.onQuoted(line.substring(p, quoteStart(q1)), true, true);
        p = q1.end();
    }
    return p;
}
 
开发者ID:itesla,项目名称:ipst,代码行数:18,代码来源:CommentScanner.java

示例2: skipBlockComment

import java.util.regex.MatchResult; //导入方法依赖的package包/类
int skipBlockComment(String line, Matcher blockCommentEnd, MatchResult bcs) {
    // We go through a block comment start and look for a block comment end
    int p = bcs.end();
    MatchResult bce = find(blockCommentEnd, p);
    if (bce == null) {
        // No block comment end found in this line, start a multi-line comment
        eventHandler.onBlockComment(line.substring(p), true, false);
        isInsideBlockComment = true;
        p = line.length();
    } else {
        // Emit this block comment and advance
        eventHandler.onBlockComment(line.substring(p, bce.start()), true, true);
        p = bce.end();
    }
    return p;
}
 
开发者ID:itesla,项目名称:ipst,代码行数:17,代码来源:CommentScanner.java

示例3: checkPosConstraint

import java.util.regex.MatchResult; //导入方法依赖的package包/类
/**
 * Check whether the part of speech constraint defined in a rule is satisfied.
 * @param s
 * @param posConstraint
 * @param m
 * @param jcas
 * @return
 */
public boolean checkPosConstraint(Sentence s, String posConstraint, MatchResult m, JCas jcas) {
	Pattern paConstraint = Pattern.compile("group\\(([0-9]+)\\):(.*?):");
	for (MatchResult mr : Toolbox.findMatches(paConstraint,posConstraint)) {
		int groupNumber = Integer.parseInt(mr.group(1));
		int tokenBegin = s.getBegin() + m.start(groupNumber);
		int tokenEnd   = s.getBegin() + m.end(groupNumber);
		String pos = mr.group(2);
		String pos_as_is = getPosFromMatchResult(tokenBegin, tokenEnd ,s, jcas);
		if (pos_as_is.matches(pos)) {
			Logger.printDetail("POS CONSTRAINT IS VALID: pos should be "+pos+" and is "+pos_as_is);
		} else {
			return false;
		}
	}
	return true;
}
 
开发者ID:tudarmstadt-lt,项目名称:newsleak-frontend,代码行数:25,代码来源:HeidelTimeOpenNLP.java

示例4: replaceMatches

import java.util.regex.MatchResult; //导入方法依赖的package包/类
public String replaceMatches(CharSequence charSequence, Callback callback) throws CallbackMatcherException {
    StringBuilder result = new StringBuilder(charSequence);
    final Matcher matcher = this.pattern.matcher(charSequence);
    int offset = 0;

    while (matcher.find()) {
        final MatchResult matchResult = matcher.toMatchResult();
        final String replacement = callback.foundMatch(matchResult);
        if (replacement == null) {
            continue;
        }

        int matchStart = offset + matchResult.start();
        int matchEnd = offset + matchResult.end();

        result.replace(matchStart, matchEnd, replacement);

        int matchLength = matchResult.end() - matchResult.start();
        int lengthChange = replacement.length() - matchLength;

        offset += lengthChange;
    }

    return result.toString();
}
 
开发者ID:labsai,项目名称:EDDI,代码行数:26,代码来源:CallbackMatcher.java

示例5: doValidationAgainstRegex

import java.util.regex.MatchResult; //导入方法依赖的package包/类
/**
 * Validates a string by regex expression
 *
 * @param input
 *            the input of a form field.
 * @param regex
 *            a regular expression for the given string, can be {@code null}
 * @param fieldName
 *            Name of the field the check is against.
 * @param errors
 *            The errors to put the error into.
 * @return The message key for the error.
 */
private static String doValidationAgainstRegex(String input, String regex, String fieldName,
        Errors errors) {
    Pattern pattern = Pattern.compile(regex);
    Matcher matcher = pattern.matcher(input == null ? "" : input);
    if (!matcher.matches()) {
        errors.rejectValue(fieldName, getRegexErrorMessageKey(regex),
                new Object[] { getRegexForDisplay(regex) }, "");
        return getRegexErrorMessageKey(regex);
    }
    MatchResult res = matcher.toMatchResult();
    if (res.start() != 0 || res.end() != input.length()) {
        errors.rejectValue(fieldName, getRegexErrorMessageKey(regex),
                new Object[] { getRegexForDisplay(regex) }, "");
        return getRegexErrorMessageKey(regex);
    }
    return null;
}
 
开发者ID:Communote,项目名称:communote-server,代码行数:31,代码来源:ValidationHelper.java

示例6: substitute

import java.util.regex.MatchResult; //导入方法依赖的package包/类
/**
 * Do a content substitution by looking at the array size and looking for {0}...{n} strings and replace them with
 * the array's content.<br>
 * (Note - we use this method and not the NLS.bind() because it does not handle well code blocks existence)
 * 
 * @param content
 * @param substitutions
 * @return A string, substituted with the array's content.
 */
private static String substitute(String content, String[] substitutions)
{
	StringBuilder buffer = new StringBuilder(content);
	Matcher matcher = SUBSTITUTION_PATTERN.matcher(content);
	int offset = 0;
	while (matcher.find())
	{
		MatchResult matchResult = matcher.toMatchResult();
		int beginIndex = matchResult.start();
		int endIndex = matchResult.end();
		int index = Integer.parseInt(content.substring(beginIndex + 1, endIndex - 1));
		if (index >= 0 && index < substitutions.length)
		{
			String replacement = substitutions[index];
			int matchLength = endIndex - beginIndex;
			buffer.replace(offset + beginIndex, offset + endIndex, replacement);
			offset += (replacement.length() - matchLength);
		}
	}
	return buffer.toString();
}
 
开发者ID:apicloudcom,项目名称:APICloud-Studio,代码行数:31,代码来源:FormatterPreviewUtils.java

示例7: getStringFromRegEx

import java.util.regex.MatchResult; //导入方法依赖的package包/类
/**
 * 
 * @param str
 * @param regex
 * @return null if substring not found.
 */
public static String getStringFromRegEx(String str, String regex) {

	Pattern pa = Pattern.compile(regex);
   	
   	Matcher ma = pa.matcher(str);
   	
	int start = -1;
	int end = -1;
	
   	if(ma.find()){
   		MatchResult mr = ma.toMatchResult();
   		start = mr.start();
   		end = mr.end();
   	} else {
   		return null;
   	}

	return str.substring(start,end);
}
 
开发者ID:Actelion,项目名称:openchemlib,代码行数:26,代码来源:StringFunctions.java

示例8: getAttributStartEnd

import java.util.regex.MatchResult; //导入方法依赖的package包/类
private Location[] getAttributStartEnd(String attributRegion, Location locStart, Node attr) {
		Location[] startEnd = new Location[2];
		Matcher matcher = attrPattern.matcher(attributRegion);
//		debug-error! can not be debugged...
		while (matcher.find()) {
			String name = matcher.group(1);
			if (name.equals(attr.getNodeName())) {

				MatchResult mresult = matcher.toMatchResult();
				int startPos = mresult.start();
				int endPos = mresult.end();
				startEnd[0] = NodeInfo.newLocation(locStart, startPos);
				startEnd[1] = NodeInfo.newLocation(locStart, endPos);
				break;
			}
		}
		return startEnd;
	}
 
开发者ID:nkutsche,项目名称:opendocs,代码行数:19,代码来源:AttributeInfo.java

示例9: replaceAll

import java.util.regex.MatchResult; //导入方法依赖的package包/类
private static String replaceAll(Pattern pattern, CharSequence charSequence, Callback callback) {
    Matcher matcher = pattern.matcher(charSequence);
    StringBuilder sb = new StringBuilder(charSequence);
    int offset = 0;
    while (matcher.find()) {
        MatchResult matchResult = matcher.toMatchResult();

        String replacement = callback.foundMatch(matchResult);

        int matchStart = offset + matchResult.start();
        int matchEnd = offset + matchResult.end();

        sb.replace(matchStart, matchEnd, replacement);

        int matchLength = matchResult.end() - matchResult.start();
        int lengthChange = replacement.length() - matchLength;

        offset += lengthChange;
    }
    return sb.toString();
}
 
开发者ID:KRMAssociatesInc,项目名称:eHMP,代码行数:22,代码来源:VistaStringUtils.java

示例10: veto

import java.util.regex.MatchResult; //导入方法依赖的package包/类
/**
 * Checks whether a possible match is being vetoed by a non split match. A
 * possible match is vetoed if it any nay overlap with a veto region.
 * 
 * @param split
 *            the match result representing the split to be tested
 * @param vetoRegions
 *            regions where matches are not allowed. For efficiency reasons,
 *            this method assumes these regions to be non overlapping and
 *            sorted in ascending order. All veto regions that end before
 *            the proposed match are also discarded (again for efficiency
 *            reasons). This requires the proposed matches to be sent to
 *            this method in ascending order, so as to avoid malfunctions.
 * @return <tt>true</tt> iff the proposed split should be ignored
 */
private boolean veto(MatchResult split, List<int[]> vetoRegions) {
	// if no more non splits available, accept everything
	for (Iterator<int[]> vetoRegIter = vetoRegions.iterator(); vetoRegIter.hasNext();) {
		int[] aVetoRegion = vetoRegIter.next();
		if (aVetoRegion[1] - 1 < split.start()) {
			// current veto region ends before the proposed split starts
			// --> discard the veto region
			vetoRegIter.remove();
		} else if (split.end() - 1 < aVetoRegion[0]) {
			// veto region starts after the split ends
			// -> we can return false
			return false;
		} else {
			// we have overlap
			return true;
		}
	}
	// if we got this far, all veto regions are before the split
	return false;
}
 
开发者ID:ag-csw,项目名称:ExpertFinder,代码行数:36,代码来源:GATERegexSentenceSplitter.java

示例11: modifyBuffer

import java.util.regex.MatchResult; //导入方法依赖的package包/类
/**
 * @see com.github.rwitzel.streamflyer.experimental.stateful.util.RegexTransitionState#modifyBuffer(java.lang.StringBuilder,
 *      int, java.util.regex.MatchResult)
 */
@Override
protected int modifyBuffer(StringBuilder characterBuffer, int firstModifiableCharacterInBuffer,
        MatchResult matchResult) {

    int shiftMatchResult = 0;

    // delete characters before token
    if (deleteCharactersBeforeToken) {
        characterBuffer.delete(firstModifiableCharacterInBuffer, matchResult.start());
        shiftMatchResult += matchResult.start() - firstModifiableCharacterInBuffer;
    }

    // delete token
    if (deleteToken) {
        characterBuffer.delete(matchResult.start() - shiftMatchResult, matchResult.end() - shiftMatchResult);
        shiftMatchResult += matchResult.end() - matchResult.start();
    }

    return matchResult.end() - shiftMatchResult;
}
 
开发者ID:rwitzel,项目名称:streamflyer,代码行数:25,代码来源:RangeFilterState.java

示例12: createResult

import java.util.regex.MatchResult; //导入方法依赖的package包/类
/**
 * @param matchResult
 *            the {@link MatchResult} given to the {@link MatchProcessor}.
 * @param newMatchEnd
 *            the position of the end of the matched string after the character buffer is modified.
 * @param continueMatching
 *            See {@link MatchProcessorResult#isContinueMatching()}
 * @return Returns a {@link MatchProcessorResult} that cannot cause an endless loop.
 */
protected MatchProcessorResult createResult(MatchResult matchResult, int newMatchEnd, boolean continueMatching) {

    int matchStart = matchResult.start();
    int matchEnd = matchResult.end();

    // if the empty string is matched, then we increase the position
    // to avoid endless loops
    // (compare to Matcher.find() where we see the following code:
    // int i = last; if(i == first) i++;
    // in words: set the *from* for the next match at the
    // end of the last match. if this is equal to the start
    // of the last match (a match on the empty string(, then
    // increase the *from* to avoid endless loops)
    int offset = matchStart == matchEnd ? 1 : 0;

    return new MatchProcessorResult(newMatchEnd + offset, continueMatching);
}
 
开发者ID:rwitzel,项目名称:streamflyer,代码行数:27,代码来源:AbstractMatchProcessor.java

示例13: createNamedEntity

import java.util.regex.MatchResult; //导入方法依赖的package包/类
@Override
protected RegexNerProcessor.NamedEntity createNamedEntity(String pattern_name, MatchResult matchResult) {
    return new RegexNerProcessor.NamedEntity(
            matchResult.start(),
            matchResult.end(),
            URL_TAG
    );
}
 
开发者ID:redlink-gmbh,项目名称:smarti,代码行数:9,代码来源:UrlFactory.java

示例14: skipStart

import java.util.regex.MatchResult; //导入方法依赖的package包/类
int skipStart(String line, Matcher quote, Matcher blockCommentEnd) {
    MatchResult m = null;
    if (isInsideString) {
        m = find(quote, 0);
    } else if (isInsideBlockComment) {
        m = find(blockCommentEnd, 0);
    }

    int p = 0;
    if (m != null) {
        // If we were inside block comment emit a block comment, remove the flag
        if (isInsideBlockComment) {
            if (m.start() > 0) {
                eventHandler.onBlockComment(line.substring(0, m.start()), false, true);
            }
            isInsideBlockComment = false;
        } else if (isInsideString) {
            // If we were inside string emit a quoted string, remove the flag
            if (m.start() > 0) {
                eventHandler.onQuoted(line.substring(0, quoteStart(m)), false, true);
            }
            isInsideString = false;
        }
        p = m.end();
    }
    return p;
}
 
开发者ID:itesla,项目名称:ipst,代码行数:28,代码来源:CommentScanner.java

示例15: quoteRestart

import java.util.regex.MatchResult; //导入方法依赖的package包/类
int quoteRestart(MatchResult q) {
    // If we want to restart the search for quotes from current result we must start search from end - 1
    // because the regular expression for searching quotes looks for sequence non-quote + quote
    // This fix allows to match empty quoted strings
    // Only when end > 1, re-starting from 1 is wrong
    return q.end() > 1 ? q.end() - 1 : q.end();
}
 
开发者ID:itesla,项目名称:ipst,代码行数:8,代码来源:CommentScanner.java


注:本文中的java.util.regex.MatchResult.end方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。