- 浏览: 150072 次
- 性别:
- 来自: 武汉
文章分类
最新评论
-
mathlpz:
JSP_Struts标签 html:select option基本用法 -
phil09s:
还有一篇相当不错的教程:http://lavasoft.blo ...
commons-logging log4j的联系区别 -
phil09s:
灰常不错的教程,配合http://sammor.iteye.c ...
commons-logging log4j的联系区别
目前,正则表达式已经在很多软件中得到广泛的应用,包括*nix(Linux, Unix等),HP等操作系统,PHP,C#,Java等开发环境,以及很多的应用软件中,都可以看到正则表达式的影子。
提示输入一个模式和一个欲匹配的字符串。它将输出输入的字符串是否匹配模式。如果输入匹配包含分组的模式,程序将会使用圆括号来打印分组边界,如((11):(59))am Example RegexTest.java 1. import java.util.*; 2. import java.util.regex.*; 3. 4. /** 5. This program tests regular expression matching. 6. Enter a pattern and strings to match, or hit Cancel 7. to exit. If the pattern contains groups, the group 8. boundaries are displayed in the match. 9. */ 10. public class RegExTest 11. { 12. public static void main(String[] args) 13. { 14. Scanner in = new Scanner(System.in); 15. System.out.println("Enter pattern: "); 16. String patternString = in.nextLine(); 17. 18. Pattern pattern = null; 19. try 20. { 21. pattern = Pattern.compile(patternString); 22. } 23. catch (PatternSyntaxException e) 24. { 25. System.out.println("Pattern syntax error"); 26. System.exit(1); 27. } 28. 29. while (true) 30. { 31. System.out.println("Enter string to match: "); 32. String input = in.nextLine(); 33. if (input == null || input.equals("")) return; 34. Matcher matcher = pattern.matcher(input); 35. if (matcher.matches()) 36. { 37. System.out.println("Match"); 38. int g = matcher.groupCount(); 39. if (g > 0) 40. { 41. for (int i = 0; i < input.length(); i++) 42. { 43. for (int j = 1; j <= g; j++) 44. if (i == matcher.start(j)) 45. System.out.print('('); 46. System.out.print(input.charAt(i)); 47. for (int j = 1; j <= g; j++) 48. if (i + 1 == matcher.end(j)) 49. System.out.print(')'); 50. } 51. System.out.println(); 52. } 53. } 54. else 55. System.out.println("No match"); 56. } 57. } 58. }
$ | 匹配输入字符串的结尾位置。如果设置了 RegExp 对象的 Multiline 属性,则 $ 也匹配 '\n' 或 '\r'。要匹配 $ 字符本身,请使用 \$。 | ||||||||||||
( ) | 标记一个子表达式的开始和结束位置。子表达式可以获取供以后使用。要匹配这些字符,请使用 \( 和 \)。 | ||||||||||||
* | 匹配前面的子表达式零次或多次。要匹配 * 字符,请使用 \*。 | ||||||||||||
+ | 匹配前面的子表达式一次或多次。要匹配 + 字符,请使用 \+。 | ||||||||||||
. | 匹配除换行符 \n之外的任何单字符。要匹配 .,请使用 \。 | ||||||||||||
[ | 标记一个中括号表达式的开始。要匹配 [,请使用 \[。 | ||||||||||||
? | 匹配前面的子表达式零次或一次,或指明一个非贪婪限定符。要匹配 ? 字符,请使用 \?。 | ||||||||||||
\ | 将下一个字符标记为或特殊字符、或原义字符、或向后引用、或八进制转义符。例如, 'n' 匹配字符 'n'。'\n' 匹配换行符。序列 '\\' 匹配 "\",而 '\(' 则匹配 "("。 | ||||||||||||
^ | 匹配输入字符串的开始位置,除非在方括号表达式中使用,此时它表示不接受该字符集合。要匹配 ^ 字符本身,请使用 \^。 | ||||||||||||
{ | 标记限定符表达式的开始。要匹配 {,请使用 \{。 | ||||||||||||
指明两项之间的一个选择。要匹配 |,请使用 \|。
|
Matcher类的replaceAll方法用一个替换字符串代替出现的所有正则表达式的匹配。比如,下列指令用#替换所有数字序列 Pattern pattern = Pattern.compile("[0-9]+"); Matcher matcher = pattern.matcher(input); String output = matcher.replaceAll("#"); 替换字符串可以包含模式中的分组引用:$n被第n个分组替换。替换文本中出现$时,使用\$来包含它。 replaceFirst方法只替换模式的第一次出现。 最后讲一点,Pattern类有一个split方法,它类似于字符串tokenizer。它使用正则表达式匹配作边界,将输入分离成字符串数组。比如,下面的指令将输入分离成记号(token), Pattern pattern = Pattern.compile("\\s*\\p{Punct}\\s*"); String[] tokens = pattern.split(input); 类 -------------------------------------------------------------------------------- java.util.regex.Pattern 1.4 -------------------------------------------------------------------------------- 方法 static Pattern compile(String expression) static Pattern compile(String expression, int flags) 编译正则表达式字符串到pattern对象用以匹配的快速处理 参数: expression 正则表达式 flags 下列标志中的一个或多个 CASE_INSENSITIVE, UNICODE_CASE, MULTILINE, UNIX_LINES, DOTALL, and CANON_EQ Matcher matcher(CharSequence input) 返回一个matcher对象,它可以用来在一个输入中定位模式匹配 String[] split(CharSequence input) String[] split(CharSequence input, int limit) 将输入字符串分离成记号,并由pattern来指定分隔符的形式。返回记号数组。分隔符并不是记号的一部分。 参数: input 分离成记号的字符串 limit 生成的最大字符串数。 -------------------------------------------------------------------------------- 类 -------------------------------------------------------------------------------- java.util.regex.Matcher 1.4 -------------------------------------------------------------------------------- 方法 -------------------------------------------------------------------------------- boolean matches() 返回输入是否与模式匹配 boolean lookingAt() 如果输入的起始匹配模式则返回True boolean find() boolean find(int start) 尝试查找下一个匹配,并在找到匹配时返回True 参数: start 开始搜索的索引 int start() int end() 返回当前匹配的起始位置和结尾后位置 String group() 返回当前匹配 int groupCount() 返回输入模式中的分组数 int start(int groupIndex) int end(int groupIndex) 返回一个给定分组当前匹配中的起始位置和结尾后位置 参数: groupIndex分组索引(从1开始),0表示整个匹配 String group(int groupIndex) 返回匹配一个给定分组的字符串 参数: groupIndex 分组索引(从1开始),0表示整个匹配 String replaceAll(String replacement) String replaceFirst(String replacement) 返回从matcher输入得到的字符串,但已经用替换表达式替换所有或第一个匹配 参数: replacement 替换字符串 Matcher reset() Matcher reset(CharSequence input) 复位mather状态。
发表评论
-
读取配置文件
2014-05-16 13:41 0package com.hundsun.hsacct.act ... -
Linux环境搭建系统
2013-05-20 10:09 01. VMware workstation ... -
Java 繁体化
2013-05-10 13:59 1369package com.xxyy.common; i ... -
Error : \Java\jdk1.6.0_17\lib\tools.jar was unexpected at this time
2012-02-14 21:26 1858when our application server fai ... -
findbugs ant 代码审核工具
2012-01-11 15:38 2997Findbugs 是一个静态分析工具,它检查类或者 JA ... -
commons-logging log4j的联系区别
2011-12-19 14:54 66101、Apache通用日志接口(commons-loggi ... -
Solaris 10 上网
2011-10-17 13:12 1181昨天在虚拟机里面装好了solaris操作系统,却上不了网,按照 ... -
Solaris 10 的安装【转载】
2011-10-17 10:22 2901Solaris 10 的安装------------- ... -
eclipse 提示 快捷键
2011-10-08 16:53 899eclipse3.3中把内容助手(content assist ... -
windows环境下SVN服务器环境的搭建
2011-07-04 22:42 1787一 环境 操作系统:windows2003 serve ... -
MongoDB的初次接触学习体验
2011-06-16 17:52 0待续。。。 -
win7免安装mysql配置使用
2011-06-12 11:29 3025win7 64位机 下载地址:http://www.mys ... -
如何让电脑发音帮你读英文
2010-08-28 18:22 3585[1]首先,在桌面单击右键,在旁拉菜单中选择“文本文档”,就会 ... -
[转载] String getBytes()
2010-08-02 14:35 1372public byte[] getBytes()使用平台默认的 ... -
zk webapps下 文件 乱码
2010-01-06 10:30 182518328 [main] INFO lucene.Lucene ... -
SPRING 定时任务设置详解
2010-01-04 15:15 1179org.springframework.schedulin ... -
C3P0 连接池详细配置
2009-12-06 15:27 919<c3p0-config> <default ... -
WebApplicationContext : org.springframework.web.context.ContextLoaderListener作用
2009-12-05 15:59 1447如果您想要在自己所定义的Servlet类别中使用Spring的 ... -
一个web项目web.xml的配置中<context-param>配置是起什么作用的
2009-12-05 15:44 12311.启动一个WEB项目的时候,容器(如:Tomcat)会去读它 ... -
寻找项目的配置文件
2009-10-21 11:40 993try { String ur ...
相关推荐
根据给定的文件信息,我们可以总结出以下关于Java正则表达式的重要知识点: ### 1. 正则表达式简介 正则表达式是一种强大的文本处理工具,它能够帮助我们匹配、查找、替换等操作符合某种规则的字符串。在Java中,...
Java正则表达式是Java语言中用于处理字符串的强大工具,它允许程序员进行复杂的字符串匹配、查找和替换操作。正则表达式(Regular Expression)是一种模式匹配语言,通过特定的语法来描述字符串的模式,用于在文本中...
正则表达式是编程语言中用于模式匹配和字符串处理的强大工具,在Java中也不例外。Java的正则表达式功能强大,可以用于验证输入、提取信息、替换文本等多种场景。本资料"java_zhengze.rar"提供了对Java正则表达式的...
Java正则表达式验证IP地址 Java正则表达式验证IP地址是指使用Java语言中的正则表达式来验证IP地址是否符合标准。IP地址是指在网络通信中用来标识设备的地址,它是一种逻辑地址,通过它可以找到网络中的设备。在...
Java正则表达式匹配工具是IT领域中一种强大的文本处理工具,它利用正则表达式(Regular Expression)的规则来查找、替换或者提取文本中的特定模式。正则表达式是一种特殊的字符序列,能够帮助程序员或者用户高效地...
为了帮助开发者更好地掌握Java正则表达式技术,我们提供了一系列的Java正则表达式技巧大全,包括《Java正则表达式技巧大全》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧...
Java正则表达式是Java编程语言中用于处理字符串的强大工具,它基于模式匹配的概念,能够高效地进行文本搜索、替换和解析。在Java中,正则表达式主要通过`java.util.regex`包来实现,提供了Pattern和Matcher两个核心...
在Java高级编程中,正则表达式是一种强大的文本处理工具,尤其在识别和验证电子邮件地址时,它的价值显得尤为重要。正则表达式(Regular Expression)是通过特定模式匹配字符串的一套规则,它允许我们用简洁的方式...
正则表达式 Java 验证工具正则表达式 Java 验证工具
### 使用Java正则表达式实现一个简单的身份证号码验证 #### 一、背景介绍 身份证号码是中国公民的身份标识,由15位或18位数字组成(早期为15位,后改为18位)。其中,第18位是校验码,可能是数字0~9或者大写字母X。...
《深入浅出正则表达式 java》是一份专注于讲解Java平台下正则表达式使用的教程。正则表达式,简称正则,是处理文本的强大工具,广泛应用于数据验证、搜索替换、文本分析等多个领域。在Java中,正则表达式通过`java....
在IT领域,正则表达式(Regular Expression,简称regex)是一种强大的文本处理工具,它能够进行复杂的模式匹配、查找、替换等操作。在本话题中,我们将探讨如何使用PowerBuilder 11.5这一经典的开发环境来实现正则...
在Java中使用正则表达式来判断字符串是否符合整数、小数或实数的格式是一种常见且有效的做法。在编程中,我们经常需要对输入的字符串进行格式验证,以确保它们符合预期的数值格式,尤其是在处理财务数据、用户输入...
Java正则表达式 Java 正则表达式 图片版 携带方便,查阅方便!~
Java提供了`java.util.regex`包,通过`Pattern`和`Matcher`类支持正则表达式。以下是如何在Java中验证电话号码的一个例子: ```java import java.util.regex.Pattern; import java.util.regex.Matcher; String...
在Java编程语言中,正则表达式被广泛应用于数据验证、文本提取和字符串操作。以下是对这些文档标题所涉及的Java正则表达式知识点的详细解释: 1. **正则表达式之道** 这个主题可能涵盖了正则表达式的基础概念,...
本书主要讲解了正则表达式的特性和流派、匹配原理、优化原则、实用诀窍以及调校措施,并详细介绍了正则表达式在Perl、Java、.NET、PHP中的用法。 本书自第1 版开始着力于教会读者“以正则表达式来思考”,来让读者...
本篇将围绕“使用Java正则表达式分析处理日志”这一主题,探讨如何利用Java的正则表达式功能来提取、过滤和操作日志数据。 首先,我们需要理解正则表达式的基本概念。正则表达式(Regular Expression)是一种模式...
Java 正则表达式过滤特殊字符的正则表达式 Java 正则表达式是 Java 语言中的一种强大的文本处理工具,能够对字符串进行复杂的匹配、提取和替换操作。本文将详细介绍 Java 正则表达式在过滤特殊字符方面的应用。 ...