java正则:com.factory.web.Person,取出Person 怎么写?

问题描述

如题,其中person是一个类名,但是我用getName后带着包名,现在我只要Person注意不能用String的方法,就为了练正则嘛

解决方案

解决方案二:
importjava.text.ParseException;importjava.util.regex.Matcher;importjava.util.regex.Pattern;publicclassTest{publicstaticvoidmain(String[]args)throwsParseException{Stringstr=":com.factory.web.Person:com.factory.web.Animal";Patternpattern=Pattern.compile("(([:\w]+\.(?!\.))+)(\w+)");Matchermatcher=pattern.matcher(str);while(matcher.find()){System.out.println(matcher.group(1)+"=>"+matcher.group(3));}}}

解决方案三:
publicstaticvoidmain(Stringargs[]){Stringstr="com.factory.web.Person";System.out.println(str.replaceAll(".*\.(\w+)$","$1"));}

解决方案四:
你不要用Person.class.getName方法,用Person.class.getSimpleName()就可以得到不带包名的了。Java的标识符有点复杂,除了字母、下划线和$外,还允许诸如汉字的,因此需要有个通用性。importjava.util.regex.Matcher;importjava.util.regex.Pattern;publicclassTest{publicstaticvoidmain(String[]args){Stringregex="(\p{javaJavaIdentifierStart}\p{javaJavaIdentifierPart}*)$";String[]strs={"Person","com.factory.web.person","A","com.factory.web.Person","com.factory.web.人类","com.factory.web.Person$2"};Patternp=Pattern.compile(regex);for(inti=0;i<strs.length;i++){Matcherm=p.matcher(strs[i]);while(m.find()){System.out.println(strs[i]+"-->"+m.group(1));}}}}

\p{javaJavaIdentifierStart},当中的javaJavaIdentifierStart就是Character.isJavaIdentifierStart方法。Character中所有的isXxx方法,把方法名的is改成java都可以用于\p结构当中。
解决方案五:
p=Pattern.compile("(([^\.]+\.)+)([^]+)");m=p.matcher(":com.factory.web.Person:com.factory.web.Animal");while(m.find()){System.out.println(m.group(1)+"=>"+m.group(3));}

时间: 2024-10-22 23:20:05

java正则:com.factory.web.Person,取出Person 怎么写?的相关文章

java正则截取出javascript中的json代码片段。

问题描述 java正则截取出javascript中的json代码片段. 在做爬虫的时候,爬出一个页面大量包含 var aa = {json_aa}; var bb= {json_bbb}; var cc = {json_cccc}; JAVA中如何用正则表达式截取出某个JS定义的JSON对象,如bb变量后的{json_bbb}; 数据用来转换JAVA对象进行处理. 谢谢! 解决方案 首先已经爬取到上面的数据,你可以正则获取到 var bb= {json_bbb}; 这样的数据. java 中有可

java 正则匹配空格字符串 正则表达式截取字符串

  java 正则匹配空格字符串 正则表达式截取字符串 需求:从一堆sql中取出某些特定字符串: 比如配置的sql语句为:"company_code = @cc and project_id = @pid ; update t set a = @aa,b=@bb,c=@cd,ttt=@ttt;update t2 set d=@bb"; 我要拿出所有的以@开头的作为变量,并且去重,则如下玩: ps:其中正则匹配空格是 "\s+"   public class Test

正则验证-java 正则匹配数据中的金钱数字

问题描述 java 正则匹配数据中的金钱数字 A文件数据:1001分店20121231,元旦之际祝您新年快乐身体健康万事如意.您共欠担保公司¥103959.50元.请您尽快偿还欠款,以免扩大损失.您的借款已逾期6天,欠款金额为1988.20元,逾期将影响信用记录,请即刻缴纳.截止 2015年07月01日 您应还金额为:4128元.如有疑问,请联系王先生1101101010.你好,截至到昨天夜里23:59,你欠款34532.32元,请您尽快偿还欠款,以免扩大损失.你好,截至到昨天夜里23:59,你

使用Axis2和JiBX将Java类转换成Web服务,第2部分

使用Axis2和JiBX将Java类转换成Web服务,第2部分: 把XML转换成功能全面的Web服务 本文配套源码 简介 Apache Axis2 提供了好几种 XML 解决方案,可以轻松的开发功能强大的 Web 服务.Axis2 是实现 Web 服务的一个非常不错的选择.由于 Apache Axis2 和 Apache Geronimo duo 是免费而且开放源码的,因此可以考虑使用这两者. 在本系列的前一部分中,我向您介绍了在本系列两篇文章中使用到的 Java 类.我们通过 WSDL 将这些

使用Axis2和JiBX将Java类转换成Web服务,第1部分

使用Axis2和JiBX将Java类转换成Web服务,第1部分: 使用XML通过Java类定义Web服务 本文配套源码 简介 Web 服务在日常开发中重要性与日俱增,Axis2 也成为了倍受人们欢迎的开发Web 服务的开放源码平台.Axis2 使用Java 语言编写,它能利用了 JiBX(一种框架,用于将XML和Java绑定在一起)的自由性.假设您有一个含有大量 Java 类和数据结构的 Java 项目,而且不想打乱或者更改它们.JiBX 会帮助您实现这一切,它把在 Axis2 中使用的 XML

Java EE:迎合Web 2.0

很多成功的企业应用程序都是使用 Java EE 平台构建的.但是,Java EE 的设计原理并不能够有效地支持 Web 2.0 应用程序.深入了解 Java EE 和 Web 2.0 原理之间的脱节可帮助您制定明智的决策,从而使用各种方法和工具在一定程度上解决这种脱节.本文将解答 Web 2.0 和标准 Java EE 平台缘何成为失败的组合,并演示为何由事件驱动的异步架构更适合 Web 2.0 应用程序.本文还介绍了一些框架和 API,它们通过支持异步设计使得 Java 平台更加适合 Web

java-使用JAVA调用ASP.NET web应用程序

问题描述 使用JAVA调用ASP.NET web应用程序 有一个ASP.NET web应用程序(网站),现在可以正常使用了.现在要求将这个ASP.NET web应用程序使用JAVA调用(是不是这样描述的我也不太清楚),大概的意思是:这个ASP.NET web应用程序提供一个类似接口的东西,能够让JAVA调用,运行JAVA程序后,能将原来ASP.NET web应用程序的页面和功能展现出来. 要求说要使用socket方式来实现,我只对JAVA比较了解,至于ASP.NET和socket这两者,都没有接

java正则去除字符中img标签src值为空的数据

问题描述 java正则去除字符中img标签src值为空的数据 获取一个字符串,其实就是HTMLEncode过来的HTML数据,有一个img标签,但是src属性为空,怎么正则将该img标签去除掉? 解决方案 用jquery对img标签进行遍历,,取到src属性后进行判断,,为""或null的删除

java菜鸟:动态web项目 一用servlet就404

问题描述 java菜鸟:动态web项目 一用servlet就404 两个文件:web.xml和Test.java import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.