日期:2014-05-20 浏览次数:20913 次
public static void main(String[] args) {
String[] lines = { "NOR3 g836(.A (n_18), .B (n_42), .C (n_22), .Q (n_29));", "BUF g837(.A (n_25), .Q (n_21));",
"NAND3 g838(.A (n_17), .B (n_20), .C (n_19), .Q (n_25));", "BUF g840(.A (n_17), .Q (n_18));",
"NAND2 g843(.A (n_15), .B (n_11), .Q (n_23));",
"NOR3 g841(.A (n_14), .B (encoder_in[13]), .C (encoder_in[5]), .Q (n_17));",
"BUF g844(.A (n_22), .Q (n_15));", "NAND2 g847(.A (n_13), .B (n_1), .Q (n_14));",
"NAND2 g845(.A (n_12), .B (n_8), .Q (n_22));", "NAND2 g846(.A (n_11), .B (n_6), .Q (n_42));",
"BUF g848(.A (n_13), .Q (n_10));" };
Pattern pat = Pattern.compile("\\.\\w\\s*\\(([^\\)]*)");
for (String str : lines) {
ArrayList<String> lst = new ArrayList<String>();
int pos = str.indexOf(32);
String name = str.substring(0, pos); // 取开头的名字
lst.add(name);
Matcher m = pat.matcher(str); // 借助正则表达式循环定位:括号中的参数
while (m.find()) {
lst.add(m.group(1));
}
System.out.println(lst);
String[] results = lst.toArray(new String[0]); // 转成你需要的字符串数组
}
}