regmatchertest.java

来自「Java 里正则表达式的 Mather 使用」· Java 代码 · 共 34 行

JAVA
34
字号
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import junit.framework.TestCase;

public class RegMatherTest extends TestCase {

	/**
	 * 锚定技巧
	 */
	public void testAnchor() {
		String s = "I am\n nice man";
		assertEquals(">I am\n nice man", s.replaceAll("^", ">"));
		//进行多行操作
		Pattern p = Pattern.compile("^", Pattern.MULTILINE);
		Matcher m = p.matcher(s);
		assertEquals(m.replaceAll(">"), ">I am\n> nice man");
		//定位单词边界
		p = Pattern.compile("\\b", Pattern.MULTILINE);
		assertEquals(">I> >am>\n >nice man>", p.matcher(s).replaceAll(">"));
	}

	/**
	 * 比上面反字符集更准确的表达,这不会匹配一个空格
	 */
	public void testAnchor2() {
		Pattern p = Pattern.compile("(q\\b)");
		String s = "Iraq is a country.";
		Matcher m = p.matcher(s);
		if (m.find()) {
			assertEquals(m.group(1), "q");
		}
	}
}

⌨️ 快捷键说明

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