用正则表达式处理字符串功能非常强大,下面总结一下java正则表达式的一些知识:
基本元字符
\\ 反斜杠
\t 间隔 ('\u0009')
\n 换行 ('\u000A')
\r 回车 ('\u000D')
\d 数字 等价于[0-9]
\D 非数字 等价于[^0-9]
\s 空白符号 [\t\n\x0B\f\r]
\S 非空白符号 [^\t\n\x0B\f\r]
\w 单独字符 [a-zA-Z_0-9]
\W 非单独字符 [^a-zA-Z_0-9]
\f 换页符
\e Escape
\b 一个单词的边界
\B 一个非单词的边界
\G 前一个匹配的结束
^为限制开头
$为限制结尾
加入特定限制条件[]
[a-z] 条件限制在小写a to z范围中一个字符
[A-Z] 条件限制在大写A to Z范围中一个字符
[a-zA-Z] 条件限制在小写a to z或大写A to Z范围中一个字符
[0-9] 条件限制在小写0 to 9范围中一个字符
[0-9a-z] 条件限制在小写0 to 9或a to z范围中一个字符
[0-9[a-z]] 条件限制在小写0 to 9或a to z范围中一个字符(交集)
[]中加入^后加再次限制条件[^]
[^a-z] 条件限制在非小写a to z范围中一个字符
[^A-Z] 条件限制在非大写A to Z范围中一个字符
[^a-zA-Z] 条件限制在非小写a to z或大写A to Z范围中一个字符
[^0-9] 条件限制在非小写0 to 9范围中一个字符
[^0-9a-z] 条件限制在非小写0 to 9或a to z范围中一个字符
[^0-9[a-z]] 条件限制在非小写0 to 9或a to z范围中一个字符(交集)
表示匹配次数的符号
{n,}:至少n次
"或"符号
可以使用"|"操作符。"|"操作符的基本意义就是"或"运算。要匹配"toon",使用"t(a|e|i|o|oo)n"正则表达式。这里不能使用方扩号,因为方括号只允许匹配单个字符;这里必须使用圆括号"()"。圆括号还可以用来分组。
捕获组
>捕获组可以通过从左到右计算其开括号来编号。例如,在表达式 ((A)(B(C))) 中,存在四个这样的组: 以 (?) 开头的组是纯的非捕获 组,它不捕获文本,也不针对组合计进行计数。 匹配模式
java正则表达式默认使用的是最长匹配模式,即:如果用ro*去匹配room,并将其替换为r,则结果为rm。
如果某些情况下想使用最短匹配,即:如果用ro?去匹配room,并将其替换为b,则结果为boom。
总结:默认使用最长匹配,但是结尾为"?"的模式使用的是最短匹配。
基本用法
Pattern pattern = Pattern.compile(正则表达式模式串);
Matcher matcher = pattern.matcher(要验证或处理的源字符串);
matcher.matches();如果匹配返回true,否则,false.
javascript正则表达式和java正则表达式的区别
javascript中的正则表达式和java的正则表达式基本上是相同的,区别在于分组引用和对象,方法
具体区别:
1).javascript正则表达式创建有两种方法:
a.显式创建:
var re = new RegExp("正则表达式模式串");
re.test(要校验或处理的源字符串);
b.隐式创建:
var re = /正则表达式模式串/;
要校验或处理的源字符串.match(re);
2).分组捕获对象引用方式不同
javascript也是使用"()"进行分组,但是捕获对象用RegExp对象的$1到$99来引用捕获对象。
附录:常用的javascript正则表达式,java的也类似
ip地址校验正则表达式(IPv4):
/^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])(\.(\d{1,2}|1\d\ d|2[0-4]\d|25[0-5])){3}$/
Email校验正则表达式:
/^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+ $/
格式为:2010-10-08类型的日期格式校验正则表达式:
/^\d{4}-(0?[1-9]|1[0-2])-(0?[1-9]|[1-2]\d|3[0-1])$ /
格式为:23:11:34类型的时间格式校验正则表达式:
/^([0-1]\d|2[0-3]):[0-5]\d:[0-5]\d$/
发表评论
-
Oracle9i 长字符串存储的经验总结
2012-07-06 09:52 916项目从MySQL 到Oracle ... -
win7自带的正则表达式验证工具----powershell
2012-07-06 09:45 994最近项目中要用正则表达式,忽然想起powershell可以 ... -
Android源代码下载与编译
2012-07-06 09:30 760使用repo下载官方http://android.git. ... -
asp.net中实现证件照拍照
2012-07-05 20:45 868以下代码需要用到最新版本ImageCapOnWeb控件,天 ... -
核心Swing组件(四)
2012-07-03 13:43 630Icon接口用来将图标 ... -
mx_internal变量读取和设置
2012-07-02 10:54 655Flex中很多组件的变量都有mx_internal命名空间 ... -
遮罩的使用
2012-07-02 10:54 582有N个按钮又不想其导航栏出现烦人的滚动条。 解决方法 ... -
柱状图
2012-07-02 10:54 619Main application file: fl ... -
实战 OpenLaszlo 与 db4o
2012-07-02 10:54 642本文于去年年底完 ... -
Flex 开发框架汇总
2012-07-01 00:34 574现有成熟常用的Flex ... -
Flex DivideBox
2012-07-01 00:33 495用户操作 [留言] [发消息] [加为好友] ... -
ArcGIS API for Flex and ArcGIS Viewer for Flex 2.2 发布
2012-07-01 00:33 606主要改进如下: 1 支持ArcGIS.com Web Ma ... -
免费NET&C#开发参考资料合辑
2012-07-01 00:33 824用户操作 [留言] [发消息] [加为好友] ... -
使用AJAX的十大理由
2012-07-01 00:33 580使用AJAX的十大理由: 10。XAML, XUL, ...
相关推荐
如果你曾经用过Perl或任何其他内建正则表达式支持的语言,你一定知道用正则表达式处理文本和匹配模式是多么简单。如果你不熟悉这个术语,那么“正则表达式”(Regular Expression)就是一个字符构成的串,它定义了一...
对于如何使用正则表达式来解决性能不佳、误报、漏报等常见的错误以及完成一些常见的任务,《正则表达式经典实例》给出了涉及基于C#、Java、JavaScript、Perl、PHP、Python、Ruby和VB.NET等编程语言的解决方案。...
java正则表达式.docx 如果你曾经用过Perl或任何其他内建正则表达式支持的语言,你一定知道用正则表达式处理文本和匹配模式是多么简单。如果你不熟悉这个术语,那么“正则表达式”(Regular Expression)就是一个字符...
正则表达式是程序员必备的强大工具,得到了各种Unix实用程序,以及Perl、Java、JavaScript、C#等编程语言的支持。读完本书,你会对正则表达式的常用语法了然于胸。掌握正则表达式是提升编程效率、节约时间的一大法.....
邮箱校验正则表达式,及其jsp编写过程,JavaScript表单验证email邮箱,判断一个输入量是否为邮箱email,通过正则表达式实现。
java正则表达式规则,包含java正则表达式基本知识、JavaScript RegExp对象参考手册、支持正则表达式的 String 对象的方法、定义正则表达式等内容。文档中有表达式的学习视频下载,配合文档会有不错的效果!
如果你曾经用过Perl或任何其他内建正则表达式支持的语言,你一定知道用正则表达式处理文本和匹配模式是多么简单。如果你不熟悉这个术语,那么“正则表达式”(Regular Expression)就是一个字符构成的串,它定义了一...
即使有经验的用户也经常会遇到性能不佳、误报、漏报等让人挠头的错误,本书对于如何使用正则表达式来解决一些常见的问题给出了按部就班的解决方案,其中包括c#、Java、JavaScript、Perl、PHP、Python、Ruby和VB...
JavaScript&正则表达式JavaScript&正则表达式JavaScript&正则表达式JavaScript&正则表达式JavaScript&正则表达式JavaScript&正则表达式JavaScript&正则表达式JavaScript&正则表达式JavaScript&正则表达式JavaScript&...
《正则指引》针对作者在开发中遇到的实际问题,以及其他开发人员咨询的问题,总结出一套使用正则表达式解题的办法,并通过具体的例子指导读者拆解、分析问题。全书分为三大部分:第一部分主要讲解正则表达式的基础...
对于如何使用正则表达式来解决性能不佳、误报、漏报等常见的错误以及完成一些常见的任务,本书给出了涉及基于C#、Java、JavaScript、Perl、PHP、Python、Ruby和VB.NET等编程语言的解决方案。 本书的读者对象是对...
正则表达式的定义 一个RegExp对象的每一次估值都返回新对象,这意味着RegExp是可变对象。
快速的掌握简单的java、JavaScript正则表达式,
JAVA正则表达式语法(转)正则表达式语法正则表达式是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”)。模式描述在搜索文本时要匹配的一个或多个字符串。正则表达式示例表达式 ...