本文整理汇总了Java中org.parboiled.MatcherContext.fastStringMatching方法的典型用法代码示例。如果您正苦于以下问题:Java MatcherContext.fastStringMatching方法的具体用法?Java MatcherContext.fastStringMatching怎么用?Java MatcherContext.fastStringMatching使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.parboiled.MatcherContext
的用法示例。
在下文中一共展示了MatcherContext.fastStringMatching方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: match
import org.parboiled.MatcherContext; //导入方法依赖的package包/类
@Override
public boolean match(MatcherContext context) {
if (!context.fastStringMatching()) {
return super.match(context);
}
Record rec = root;
int ix = context.getCurrentIndex();
InputBuffer buffer = context.getInputBuffer();
char c = context.getCurrentChar();
int endIx = -1;
loop:
while (true) {
char[] chars = rec.chars;
for (int i = 0; i < chars.length; i++) {
if (c == chars[i]) {
ix++;
rec = rec.subs[i];
if (rec == null) { // success, we complected a tree path to a leave
endIx = ix;
break loop;
}
if (rec.complete) { // we completed a valid match path, but continue looking for a longer match
endIx = ix;
}
c = buffer.charAt(ix);
continue loop;
}
}
// we checked all sub branches of the current node, none matched, so we are done
break;
}
if (endIx == -1) return false; // we matched no complete path, so fail
context.advanceIndex(endIx - context.getCurrentIndex());
context.createNode();
return true;
}
示例2: match
import org.parboiled.MatcherContext; //导入方法依赖的package包/类
@Override
public boolean match(MatcherContext context) {
if (!context.fastStringMatching()) {
return super.match(context);
}
if (!context.getInputBuffer().test(context.getCurrentIndex(), characters)) return false;
context.advanceIndex(characters.length);
context.createNode();
return true;
}