日期:2014-05-20  浏览次数:20618 次

设计正则表达式
计算机系数学专业2002级姓名李明
如何设计自己的正则表达式:$dept$系$major$专业$grade$级\s姓名\s$name$
然后把匹配的内容:   计算机,数学     ,2002   ,李明   输出

------解决方案--------------------
学习。
------解决方案--------------------
String regEx = "^([\u4e00-\u9fa5]+)系([\u4e00-\u9fa5]+)专业(\\d{4})级\\s*姓名\\s*([\u4e00-\u9fa5]{2,4})$ "; //匹配一个以上汉字+系+一个以上汉字+专业+四个数字+级+任意空格+姓名+任意空格+二到四个汉字
String str = "计算机系数学专业2002级姓名李明 ";
if (str.matches(regEx))
System.out.println(str.replaceAll(regEx, "$1,$2,$3,$4 "));
else
System.out.println( "不匹配 ");
------解决方案--------------------
这里不太适合用正则表达式吧

就算能够匹配, 也不表示是正确的字符串, 有可能逻辑错误...

应该把所有的专业, 班级, 姓名信息存储起来, 然后查询...