rule.java

来自「具有不同语法高亮的编辑器实例」· Java 代码 · 共 69 行

JAVA
69
字号
/*
 * Rule.java - A rule used by the user-defined syntax highlighting engine.
 */
package org.fife.ui.rsyntaxtextarea.custom;

import java.util.regex.Pattern;
import java.util.regex.Matcher;


/**
 * A rule used by the user-defined syntax highlighting system.
 *
 * @author Robert Futrell
 * @version 0.1
 */
public class Rule {

	public boolean terminated;
	private int type;
	private Pattern pattern;
	private Matcher matcher;

	/**
	 * Flags that should always be enabled when matching regular expressions.
	 */
	private static final int DEFAULT_FLAGS	=	Pattern.UNICODE_CASE |
										Pattern.UNIX_LINES;


/*****************************************************************************/


	public Rule(String pattern, int type, boolean terminated) {
		this(pattern, DEFAULT_FLAGS, type, terminated);
	}


/*****************************************************************************/


	public Rule(String pattern, int flags, int type, boolean terminated) {
		this.pattern = Pattern.compile(pattern, flags|DEFAULT_FLAGS);
		this.type = type;
		this.terminated = terminated;
	}


/*****************************************************************************/


	public String getMatch(String toMatch) {
		matcher = pattern.matcher(toMatch);
		if (matcher.lookingAt())
			return matcher.group(0);
		return null;
	}


/*****************************************************************************/


	public int getType() {
		return type;
	}


/*****************************************************************************/

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?