谷本 心 in せろ部屋

はてなダイアリーから引っ越してきました

特定の文字列を含まない正規表現(setter/getter以外を示す正規表現)

diconのpointcutを記述する時に「setter以外」を指定したい場合は、こう書く。

(?!set).*


「setter/getter以外」を指定したい場合は、こう。

(?!(get|set)).*


テストコード。

import java.util.regex.Pattern;

import junit.framework.TestCase;

public class RegExpTest extends TestCase
{
	public void testRegExpr()
	{
		Pattern pattern = Pattern.compile("(?!(get|set)).*");

		assertTrue(pattern.matcher("hoge").matches());
		assertTrue(pattern.matcher("hoget").matches());
		assertTrue(pattern.matcher("hogeta").matches());

		assertFalse(pattern.matcher("getAaa").matches());
		assertFalse(pattern.matcher("get").matches());
		assertFalse(pattern.matcher("setAaa").matches());
		assertFalse(pattern.matcher("set").matches());
	}
}