The Java Program: GroupMain.java
1 import java.util.regex.*;
2 import java.io.*;
3
4 public class GroupMain {
5
6
7 private static final String c_re ="([-+]?[0-9]+)([-+][0-9]+)i";
8
9
10 private static final String s_re ="\"([^\"]*)\"";
11
12
13 private static final String p_re =
14 "\\(([0-9]{3})\\) ([0-9]{3})-([0-9]{4})";
15
16
17
18 private static final String string =
19 "\\s*"+c_re+"\\s+"+s_re+"\\s+"+p_re+"\\s*";
20
21 private static final Pattern pattern = Pattern.compile (string);
22
23 public static void main (final String[] args) throws IOException {
24
25 final BufferedReader reader =
26 new BufferedReader (new InputStreamReader (System.in));
27
28
29 while (true) {
30 final String line = reader.readLine();
31 if (line==null) break;
32 final Matcher matcher = pattern.matcher(line);
33 final boolean matchFound = matcher.find();
34 if (matchFound) {
35 final String re = matcher.group(1);
36 final String im = matcher.group(2);
37 System.out.println (re + ", " + im + " i");
38
39 System.out.println ("'"+matcher.group(3)+"'");
40
41 final String area = matcher.group(4);
42 final String exch = matcher.group(5);
43 final String numb = matcher.group(6);
44 System.out.println (area + exch + numb);
45 } else {
46 System.out.println ("Error: " + line);
47 }
48 }
49 }
50 }