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

public class Main
{
   static void processString(String line)
   {
      System.out.println("Processing: " + line);
      Pattern p = Pattern.compile("\\G(\\w+)=(\\w+);");
      Matcher m = p.matcher(line);
      int lastMatchPos = 0;
      while (m.find()) {
         System.out.println("  " + m.group(1) + " - " + m.group(2));
         lastMatchPos = m.end();
      }
      if (lastMatchPos != line.length())
         System.out.println("  Invalid string!");
   }
   
   public static void main(String[] args)
   {
      processString("name1=gil;name2=orit;");
      processString("name1=gil;name2=orit;a");
      processString("name1=gil;;name2=orit;");
      processString(";name1=gil;name2=orit;");
      processString("name1=gil;=name2=orit;");
   }
}