class Example
{
private static String regex
= "^(?:VM|VF|TV|IM|IF)(?:;(?:VM|VF|TV|IM|IF))*$";
{
test("VF;VM", true);
test("VF;GM", false);
test("VF,VM", false);
test("VF;VM;IF", true);
test("VF,VM;IF", false);
}
private static void test
(String str,
boolean expectedResult
) { boolean result = str.matches(regex);
System.
out.
println(str
+ " -- " + (result
? "Good" : "Bad") + (result
== expectedResult
? " - OK" : " - ERROR")); }
}
Y2xhc3MgRXhhbXBsZQp7Cglwcml2YXRlIHN0YXRpYyBTdHJpbmcgcmVnZXggPSAiXig/OlZNfFZGfFRWfElNfElGKSg/OjsoPzpWTXxWRnxUVnxJTXxJRikpKiQiOwoKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewoJCXRlc3QoIlZGO1ZNIiwgdHJ1ZSk7CgkJdGVzdCgiVkY7R00iLCBmYWxzZSk7CgkJdGVzdCgiVkYsVk0iLCBmYWxzZSk7CgkJdGVzdCgiVkY7Vk07SUYiLCB0cnVlKTsKCQl0ZXN0KCJWRixWTTtJRiIsIGZhbHNlKTsKCX0KCQoJcHJpdmF0ZSBzdGF0aWMgdm9pZCB0ZXN0KFN0cmluZyBzdHIsIGJvb2xlYW4gZXhwZWN0ZWRSZXN1bHQpIHsKCQlib29sZWFuIHJlc3VsdCA9IHN0ci5tYXRjaGVzKHJlZ2V4KTsKCQlTeXN0ZW0ub3V0LnByaW50bG4oc3RyICsgIiAtLSAiICsgKHJlc3VsdCA/ICJHb29kIiA6ICJCYWQiKSArIChyZXN1bHQgPT0gZXhwZWN0ZWRSZXN1bHQgPyAiIC0gT0siIDogIiAtIEVSUk9SIikpOwoJfQp9