关于正则表达式的几个问题(Java)

来源:百度知道 编辑:UC知道 时间:2024/05/03 07:29:39
有如下几个字符串:
DEF reference values true;
DEF sex values female;
DEF Array array1 values {3,4,5,6,5};
DEF Var name values Jack;
以上每句依次包含如下关键字:
reference true
sex female
array1 {3,4,5,6,5}
name Jack
现在需要把每一句中的关键字都替换,并用
System.out.println();打印出来。
如:
System.out.println("reference: "+reg+"\tvalue: "+regValue);
System.out.println("array1: "+reg+"\tvalue: "+regValue);

请精通正则表达式的朋友帮忙解决一下这个难题。谢谢!!!

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

public class Test {

public static void main(String[] args) {
String s1 = "DEF reference values true";
String s2 = "DEF sex values female";
String s3 = "DEF Array array1 values {3,4,5,6,5}";
String s4 = "DEF Var name values Jack";
String[] arr = { s1, s2, s3, s4 };

String pat = "^DEF(Array|Var)?(.*?) values (.*)";
Pattern p = Pattern.compile(pat);
for (int i = 0; i < arr.length; i++) {
Matcher m = p.matcher(arr[i]);
if (m.find()) {
String reg = m.group(2).trim();
String regValue = m.group(3).trim();
System.out.println(reg + "\tvalue: " + regValue);
}
}
}
}

不是很明白,