- 浏览: 468382 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (146)
- Maven (3)
- Quartz (10)
- Hessian (3)
- JDK (42)
- eclipse (4)
- 设计思想 (6)
- XML (8)
- JavaMail (1)
- Spring (11)
- mina (1)
- HsqlDb (1)
- Cache (2)
- Tool (6)
- 心情 (5)
- JQuery (0)
- Hadoop (5)
- Hbase (3)
- 自动构建 (7)
- JNDI (0)
- 代码赏析 (5)
- Oracle (1)
- Excel (4)
- Effective Java (5)
- JAXB (4)
- fdafasdf (1)
- ccc (0)
- web (3)
- concurrent (1)
- CVS (1)
- eclipse plugin (2)
- Apache (10)
最新评论
-
chxiaowu:
nice!
Quartz实现固定执行次数 -
zxjlwt:
学习了。http://surenpi.com
自定义ClassLoader -
kadlly:
public static final Logger log ...
Hessian 权限认证 -
spring_springmvc:
java程序语言学习教程 地址http://www.zuida ...
Java-Final -
liushuiwuyan:
[img][/img]
设计模式-单例
- 查找 Boolean flag = pattern.matcher("fda").find();
- 分割 String[] mm = pattern2.split(“say:”);
- 格式化 String format= pattern1.matcher(String.valueOf(vv)).group()
- 替换 String format= pattern3.matcher(ss1) .replaceAll("A")
- 匹配 String format= pattern5.matcher(email).matches()
public class RegrexUtilTest { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub String testStr="i am a good man, over!"; String patternStr = "over!$"; Pattern pattern = Pattern.compile(patternStr); Boolean flag =pattern.matcher(testStr).find(); System.out.println("查找(find):"+testStr + "是以 over! 结尾的:"+flag); System.out.println("查找(find):"+"我们一般使用 String.endWith :"+testStr.endsWith("over!")); testStr="abcde|fff|gg"; patternStr = "\\|"; pattern = Pattern.compile(patternStr); String targets[] =pattern.split(testStr); System.out.print("分割(split): ["); boolean firstflag = true; for(String target:targets){ if(firstflag){ System.out.print(target); firstflag = false; } System.out.print(","+target); } System.out.println("]"); String target1s[] = testStr.split("\\|"); System.out.print("分割(split): 我们一般使用 String.split ["); firstflag = true; for(String target:target1s){ if(firstflag){ System.out.print(target); firstflag = false; } System.out.print(","+target); } System.out.println("]"); testStr = "abc3.14159526dd"; patternStr = "[0-9]+\\.[0-9]{2}"; pattern = Pattern.compile(patternStr); Matcher matcher = pattern.matcher(testStr); while(matcher.find()){ System.out.println("格式化(group):"+matcher.group()); } System.out.println("格式化(group): 我们一般使用 String.substring "+testStr.substring(3,7)); testStr = "abcdeabdsa"; patternStr = "a"; pattern = Pattern.compile(patternStr); String result = pattern.matcher(testStr).replaceAll("A"); System.out.println("替换(replace):"+result); System.out.println("替换(replace): 我们一般使用 String.replace "+result.replaceAll("a", "A")); testStr = "fdafdjak@163.com"; patternStr = "\\w+([-+.']\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*"; pattern = Pattern.compile(patternStr); flag = pattern.matcher(testStr).matches(); System.out.println("匹配(matches):"+flag); } }
查找(find):i am a good man, over!是以 over! 结尾的:true 查找(find):我们一般使用 String.endWith :true 分割(split): [abcde,abcde,fff,gg] 分割(split): 我们一般使用 String.split [abcde,abcde,fff,gg] 格式化(group):3.14 格式化(group): 我们一般使用 String.substring 3.14 替换(replace):AbcdeAbdsA 替换(replace): 我们一般使用 String.replace AbcdeAbdsA 匹配(matches):true
可能你们会发现,这些功能可以用startWith,split,replace,substring等常用功能来代替,而且简单实用,除了匹配之外。
但是如果是不区分大小写,当true/yes/1代表一个意思时,正则就发挥作用了。
其实格式化 比如 yyyy-mm-dd, ##.##等等 都是格式化定义,最后都是需要格式化具体的数据。
匹配是正则用的最多的一个功能,手机号码,区号,QQ号码,e-mail,密码,用户名,等等需要用户输入的,如果有必要都要验证。
isPhone: "^(0[0-9]{2,3}-)?([2-9][0-9]{6,7})+(-[0-9]{1,4})?$"
isMobilePhone: "^((\\([0-9]{3}\\))|(\\d{3}-))?(13[456789][0-9]{8}|15[89][0-9]{8})+$"
isEmail: "^[\\w-]+(.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+$"
isLink: "^<a\\s[^>]*href=\"[^>]*>(.*?)</a>"
...
其他的欢迎补充。
发表评论
-
Java Application Cache
2016-09-27 19:25 884Application Cache is used very ... -
Java 字符串分词
2015-01-02 14:43 1749在Java的世界里有个类型 ... -
jdk 1.6 新特性,集成Groovy, 性能很差
2014-04-02 14:27 1276性能都是相对的,如果调用量不是很大的话,可以忽略,毕竟使用为主 ... -
Fake Code easy implements
2014-04-01 15:41 1027package org.miniframe.modules ... -
生产者消费者(四)
2014-03-04 12:32 1147需求: 多个生产者不断的生产产品,多个消费者不断的消费产品,仓 ... -
生产者消费者(三)
2014-03-04 10:59 960需求: 多个生产者不断的生产产品,多个消费者不断的消费产品,仓 ... -
生产者消费者(二)
2014-03-03 15:40 695需求: 多个生产者不断的生产产品,多个消费者不断的消费产品,仓 ... -
生产者消费者模式(一)
2014-02-28 14:30 1031需求: 多个生产者不断的生产产品,多个消费者不断的消费产品,仓 ... -
查看Class文件使用的JDK版本
2013-10-30 14:17 1115由于JDK一般是向下兼容的,所以有时候本地的JDK版本比类库的 ... -
Java源代码转码
2012-12-20 17:22 1323现在中国的项目很多,编码无非是UTF-8,GBK,GB2312 ... -
Tomcat集成OSGI,并通过JNDI开放Web调用
2012-12-03 11:22 3135Tomcat集成OSGi,首先要选择OSGI服务器,我这里采用 ... -
JDK的Logging
2012-11-07 15:49 1683jdk自带有一个log日志,对于一般的使用,仅够了. 代码如下 ... -
java.util.*
2012-11-06 14:23 1377java.util 工具包,灰常的有用,有机会一定要研读源码。 ... -
java.util.concurrent.*
2012-11-02 10:38 17761. java.util.concurrent.ArrayBl ... -
java.util.rt.*
2012-10-31 13:51 11131. java.util.HashMap 散列表,主要是以离散 ... -
巧秒设计方法,不返回null
2016-09-27 19:32 723/** * {@inheritDoc} * ... -
java doc 代码文档
2012-07-13 13:58 1330对于代码规范不解释了,网上很多。 在编写代码的时候,有一点灰 ... -
接口与抽象类
2012-07-11 16:53 11241. 接口设计必谨慎,除非业务变更,否则打死不能动接口。[不变 ... -
JVM优化机制好诡异
2012-04-20 08:43 1466long i[] = new long[1000000]; ... -
JVM优化机制好诡异
2016-09-27 19:32 562long i[] = new long[100000 ...
相关推荐
这些文档对于Java开发者来说是极其重要的资源,它们详细解释了JDK中的类、接口、方法以及各种核心概念,帮助程序员理解和使用Java语言进行开发。以下是基于这个压缩包内容的一些关键知识点: 1. **JDK版本历史**: ...
Java API帮助文档中文版是Java开发者的重要参考资料,它包含了Java开发工具包(JDK)的各种类库、接口、方法的详细说明,对于理解和使用Java语言进行编程至关重要。这份文档覆盖了从基础语法到高级特性的全方位指导...
### 深入浅出之正则表达式详解 #### 1. 正则表达式的概念与起源 正则表达式是一种强大的文本匹配工具,它能够...希望通过对本文的学习,读者能够更加熟练地掌握正则表达式的使用方法,并能够在实际工作中灵活运用。
*/`格式的注释用于生成Javadoc,这是一种自动生成API文档的工具,可以帮助开发者理解类、方法和字段的功能、用途和使用方式。 ### 字符串(String) `String` 类在Java中扮演着重要角色,它是不可变对象,意味着...
- **用途**: Nutch 为 Java 应用程序,需先安装 JDK 并设置环境变量。 2. **Cygwin** - **下载地址**: [http://www.cygwin.com/](http://www.cygwin.com/) - **用途**: 由于 Nutch 的脚本采用 Linux Shell 编写,...
### 线程常用属性及方法 线程具有一些常用的属性,如ID、名称、优先级等,同时还提供了一些方法来控制线程的行为。 ### Thread 优先级 线程的优先级决定了调度器选择线程进行执行的先后顺序。 ### 后台线程 后台...
### Java正则表达式详解 #### 一、正则表达式基础知识 正则表达式是一种强大的文本处理工具,被广泛应用于各种编程语言中,用于文本的查找与替换、...随着未来JDK版本的更新,正则表达式支持将变得更加完善和便捷。
#### JRE、JDK、JVM及JIT之间有什么不同 - **JRE(Java Runtime Environment)**: 包括Java虚拟机(JVM)和Java核心类库,是运行Java程序的基础环境。 - **JDK(Java Development Kit)**: 包含JRE,还包括编译器、...
- **创建方式**:首先通过 `Pattern.compile(regex)` 方法编译正则表达式,然后通过 `matcher(input)` 方法获取 `Matcher` 实例来进行匹配。 ##### 8、Final、Finally、Finalize() - **final 关键字**:用于声明...
- Java中使用`java.util.regex`包来实现正则表达式的匹配。 31. **什么是懒加载(LazyLoading)** - 懒加载是一种优化技术,在真正需要数据之前不加载数据,从而减少不必要的开销。 32. **什么是尾递归,为什么...