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


Java RE.OP_EOL属性代码示例

本文整理汇总了Java中com.sun.org.apache.regexp.internal.RE.OP_EOL属性的典型用法代码示例。如果您正苦于以下问题:Java RE.OP_EOL属性的具体用法?Java RE.OP_EOL怎么用?Java RE.OP_EOL使用的例子?那么, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在com.sun.org.apache.regexp.internal.RE的用法示例。


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

示例1: terminal

/**
 * Match a terminal node.
 * @param flags Flags
 * @return Index of terminal node (closeable)
 * @exception RESyntaxException Thrown if the regular expression has invalid syntax.
 */
int terminal(int[] flags) throws RESyntaxException
{
    switch (pattern.charAt(idx))
    {
    case RE.OP_EOL:
    case RE.OP_BOL:
    case RE.OP_ANY:
        return node(pattern.charAt(idx++), 0);

    case '[':
        return characterClass();

    case '(':
        return expr(flags);

    case ')':
        syntaxError("Unexpected close paren");

    case '|':
        internalError();

    case ']':
        syntaxError("Mismatched class");

    case 0:
        syntaxError("Unexpected end of input");

    case '?':
    case '+':
    case '{':
    case '*':
        syntaxError("Missing operand to closure");

    case '\\':
        {
            // Don't forget, escape() advances the input stream!
            int idxBeforeEscape = idx;

            // Switch on escaped character
            switch (escape())
            {
                case ESC_CLASS:
                case ESC_COMPLEX:
                    flags[0] &= ~NODE_NULLABLE;
                    return node(RE.OP_ESCAPE, pattern.charAt(idx - 1));

                case ESC_BACKREF:
                    {
                        char backreference = (char)(pattern.charAt(idx - 1) - '0');
                        if (parens <= backreference)
                        {
                            syntaxError("Bad backreference");
                        }
                        flags[0] |= NODE_NULLABLE;
                        return node(RE.OP_BACKREF, backreference);
                    }

                default:

                    // We had a simple escape and we want to have it end up in
                    // an atom, so we back up and fall though to the default handling
                    idx = idxBeforeEscape;
                    flags[0] &= ~NODE_NULLABLE;
                    break;
            }
        }
    }

    // Everything above either fails or returns.
    // If it wasn't one of the above, it must be the start of an atom.
    flags[0] &= ~NODE_NULLABLE;
    return atom();
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:79,代码来源:RECompiler.java


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