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 + -
显示快捷键?