没法写
package a.b.c;...a.b.c = d.e.f;前一个是包,后一个是类,怎么区分?
package a.b.c;...a.b.c = d.e.f;前一个是包,后一个是类,怎么区分?
解决方案 »
- 提问_: JAVA中约等于怎么表示??
- Java如何获取本机所在域的名字,如果不在获取工作组?
- struts如何在类文件class和action中读写session?
- 使用java编写一个数据库程序,应该掌握什么知识?up有分
- 明天考试,复习到多线程有问题了
- 关于java编程思想,难以理解的词汇.
- JBuilder 窗体的icon图标怎么换 JBuilder可以打包后在没有JDK的环境下安装吗?
- 请问英语方面有专门的计算机专用词典日语有没有呢
- 请问在Jbuilder中运行Application用的是哪个程序
- 谁知道如何用JAVA或php发邮件的附件?
- 一个 奇怪的 问题!!
- 请问如何配置动态连接池?
example1: Identifier1.Identifier2.Identifier3
example2: Identifier1错误示例
example1: .Identifier1
example2: Identifier1.
example3: Identifier1...Identifier2
import java.util.regex.*;public class PackageTest {
public PackageTest() {
} public static void main(String[] args) {
String[] strPackage = {"identifier1.identifier2.identifier3",
"identifier1",
".identifier1",
"identifier1.",
"identifier1...identifier2"}; Pattern p1 = Pattern.compile("^[a-z0-9][a-z0-9\\.]+[a-z0-9]$");
Pattern p2 = Pattern.compile("\\.{2}");
for(int i = 0; i < strPackage.length; i++) {
Matcher m1 = p1.matcher(strPackage[i]);
Matcher m2 = p2.matcher(strPackage[i]);
System.out.println(strPackage[i] + ":" + (m1.matches() & !m2.find()));
}
}
}个人认为package只能包含小写字母,所以用^[a-z0-9][a-z0-9\\.]+[a-z0-9]$匹配
如果你认为可以包含大写字母,那就用^[a-zA-Z0-9][a-zA-Z0-9\\.]+[a-zA-Z0-9]$匹配吧
Matcher m1 = p1.matcher( yourStr );
while (m1.find()){
String tmp = yourStr.substring(m1.start(),m1.end());
System.out.println( tmp );
}
Matcher m1 = p1.matcher( yourStr );
while (m1.find()){
String tmp = yourStr.substring(m1.start(),m1.end());
System.out.println( tmp );
}
String yourStr = "sdas package xcz.234.dfg djhgasdgk";Pattern p1 = Pattern.compile( "[.]*package[\\s]+([\\w][\\p{Punct}]*)+" );
Matcher m1 = p1.matcher( yourStr );
while (m1.find()){
String tmp = yourStr.substring(m1.start(),m1.end());
System.out.println( tmp );
这个看看