正则的具体写法不是重点,一般常用的还是比较简单的
主要想说的是在JAVA里使用正则的几种情况
先来定义两个变量:
1、被查找的字符串:str
2、要查找的关键字(或正则表达式):keywordPattern
情况一:判断str里是否含有keywordPattern
import java.util.regex.Matcher; import java.util.regex.Pattern; public class RegTest { public static void main(String[] args) { String str = "我是人。。我是好人。。我是好男人。。- - !!"; Pattern keywordPattern = Pattern.compile("好男人"); Matcher matcher = keywordPattern.matcher(str); System.out.println(str.find()); } } 输出:true
情况二:判断str是否完全符合keywordPattern,可用于邮箱验证等情况
public class RegTest { public static void main(String[] args) { String str = "abcd1234ABCD"; Pattern keywordPattern = Pattern.compile("^[a-zA-Z0-9]+$"); Matcher matcher = keywordPattern.matcher(str); System.out.println(matcher.matches()); //System.out.println(matcher.find()); 也可以实现同样的效果 } } 输出:true
情况三:将str中符合keywordPattern的字符都替换掉
import java.util.regex.Matcher; import java.util.regex.Pattern; public class RegTest { public static void main(String[] args) { String str = "abcd1234ABCD"; Pattern keywordPattern = Pattern.compile("[0-9]"); Matcher matcher = keywordPattern.matcher(str); System.out.println(matcher.replaceAll("@")); } } 输出: abcd@@@@ABCD
情况四:将str中符合keywordPattern的字符替换掉一部分,某些被替换的字符还需保留
import java.util.regex.Matcher; import java.util.regex.Pattern; public class RegTest { public static void main(String[] args) { String str = "12[3]456[7]890"; Pattern keywordPattern = Pattern.compile("\\[(\\d)\\]"); Matcher matcher = keywordPattern.matcher(str); System.out.println(matcher.replaceAll("")); } } 输出:12456890
情况五:将str中符合keywordPattern的字符替换掉一部分,某些被替换的字符还需做为参数进行处理
import java.util.regex.Matcher; import java.util.regex.Pattern; public class RegTest { public static void main(String[] args) { String str = "a[b]cdef[g]hij[k]lmn"; Pattern keywordPattern = Pattern.compile("\\[([a-z])\\]"); Matcher matcher = keywordPattern.matcher(str); StringBuffer strB = new StringBuffer(); while(matcher.find()){ matcher.appendReplacement(strB, getChar(matcher.group(1))); } matcher.appendTail(strB); System.out.print(strB.toString()); } public static String getChar(String num){ return "[" + num.toUpperCase() + "]"; } } 输出:a[B]cdef[G]hij[K]lmn
其中第四和第五两种方法,可以实现 公式解析 和 模板解析等复杂功能。
发表评论
-
计算字符串相似度
2012-07-06 09:51 806编程之美3.3 看完题后,毫无头绪 书上的解题思路 ... -
Java正则表达式(一)
2012-07-06 09:37 594正则表达式在处理文本方面用处非常大,最早像在Perl和aw ... -
Ogre、 Shadow Map、和其他-评说
2012-07-06 09:30 714Ogre的影子分为两类 ... -
js小技巧
2012-07-05 20:45 589setTimeout( "[执行的脚本 必须 ... -
Android Gallery组件实现循环显示图像
2012-07-03 13:43 568Gallery组件主要用于 ... -
Flex advanceddatagrid 验证处理
2012-07-02 10:28 561Validator,是指flex验证器,用以验证输入是否满 ... -
Flex函数一时糊涂
2012-07-02 10:28 618今天做项目,需要把itemRenderer里的data对象 ... -
Flex与.net交互
2012-07-02 10:28 629方法一: 把Flex生成的SWF文件(在目录../h ... -
Flex: AIR程序靠屏幕边缘收起 屏幕边缘吸附
2012-07-02 10:28 621让程序在靠到屏幕边缘的时候,向左或者右收起程序,类似QQ一 ... -
Flex加载
2012-07-01 00:05 562Flex生成的swf是个2 ... -
怎么去掉Flex4生成的SWF加载时的进度条
2012-07-01 00:05 635汗~AJAX感太强了 但我要一下子加载 坛子里说了 ... -
怎么去掉Flex4生成的SWF加载时的进度条
2012-07-01 00:04 583汗~AJAX感太强了 但 ... -
Flex加载文件数据流
2012-07-01 00:04 871Flex加载文件数据流 本文使用URLStream, ... -
设置Flex在加载应用的时候获取焦点
2012-07-01 00:04 759默认情况下,一个 ...
相关推荐
Java正则表达式Java正则表达式Java正则表达式Java正则表达式
本文写作时,一个包含了用正则表达式进行文本处理的Java规范需求(Specification Request)已经得到认可,你可以期待在JDK的下一版本中看到它。 然而,如果现在就需要使用正则表达式,又该怎么办呢?你可以从Apache...
java正则表达式java正则表达式java正则表达式java正则表达式java正则表达式java正则表达式
java,正则表达式,详解,java正则表达式,PDF
主要介绍了Java使用正则表达式提取XML节点内容的方法,结合具体实例形式分析了java针对xml格式字符串的正则匹配相关操作技巧,需要的朋友可以参考下
java正则表达式详解java正则表达式详解java正则表达式详解java正则表达式详解java正则表达式详解java正则表达式详解java正则表达式详解
JAVA正则表达式4种常用功能 正则表达式在字符串处理上有着强大的功能,sun在jdk1.4加入了对它的支持 文章主要介绍Java中常用正则表达式的写法
java 使用正则表达式验证电话号码的格式 java 使用正则表达式验证电话号码的格式
JAVA正则表达式JAVA正则表达式JAVA正则表达式
介绍如何在Java中使用正则表达式,包括正则表达式的基本语法和一些常用的句式,还有一个简单的例子。
正则表达式在Ext中,要加/^ $/,比如/^[0-9]{1,9}$/ 正则表达式在JAVA中应用 正则表达式在JAVA中应用 正则表达式在JAVA中应用 正则表达式在JAVA中应用
最完善的身份证号码合法性校验Java算法,适合Android平台,可以直接拿来在项目中使用,正则表达式。
通过正则表达式,进行反向的生成满足正则表达式的数据。
java实现用正则表达式的方法提取html中的信息,可以提取标题,正文,链接等。经过运行,没问题的
正则表达式匹配工具很好很强大 放心使用 内附各种经典正则匹配公式
Java根据正则表达式生成字符串,包括了Xeger和automaton
java使用正则表达式进行校验验证,主要使用了Pattern和Matcher类,直接main方法运行就可以,亲测有效
正则表达式之道.doc 正则表达式中的特殊字符.doc Java正则表达式详解.doc 正则表达式.ppt JAVA正则表达式--Pattern和Matcher.doc 例子
java 验证手机号码 身份证 email url 以及其他常用的正则表达式的验证方法。
主要介绍了java使用正则表达式判断手机号的方法,分析了手机号码段的原理及java使用正则表达式针对手机号的匹配操作实现技巧,需要的朋友可以参考下