- 浏览: 578916 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
lihaiming:
受用了,已把定义的版本改为跟本地的一致,不用担心找不到了,现应 ...
Cannot find the declaration of element 'beans' -
Albert_Hawking:
看到这个帖子,解决了我的问题。 我的总结是这样的:由于mave ...
Cannot find the declaration of element 'beans' -
di1984HIT:
学习了啊,哈哈哈~~
win7下安装的sqlserver ,1433端口不通 -
蛋呢823:
我也碰到这个问题,尝试了你这个方法也不行,自己摸索了一天,终于 ...
was缓存导致web.xml更改无效 -
liuxiyangyang:
文章帮了我大忙了,谢谢
Cannot find the declaration of element 'beans'
正则表达式基本语法
--------------------------------------------------------------------------------------------------------------------------
普通字符:
字母、数字、汉字、下划线,以及没有被定义特殊意义的标点符号,都是 "普通字符"。
说明:
"普通字符" 在匹配时,匹配与之相同的一个字符。如果一个表达式中,所有的字符都是 "普通字符",
那么这个表达式的匹配操作,实际上就是一个普通的 "字符串查找" 操作。
--------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------
简单的转义字符:(注意:java的正则表达式转义字符,一定要用双反斜线\\)
一些不便书写的字符,比如换行符,制表符等,使用 \n,\t 来表示。
另外有一些标点符号在正则表达式中,被定义了特殊的意义,因此需要在前面加 "\"
进行转义后,匹配该字符本身。
说明:
转义符 说明
\a 响铃符 = \x07
\f 换页符 = \x0C
\n 换行符 = \x0A
\r 回车符 = \x0D
\t 制表符 = \x09
\v 垂直制表符 = \x0B
\e ESC 符 = \x1B
\x20 使用两位十六进制表示形式,可与该编号的字符匹配
\u002B 使用四位十六进制表示形式,可与该编号的字符匹配
\x{20A060} 使用任意位十六进制表示形式,可与该编号的字符匹配
被定义了特殊的意义,因而需要在前面添加 "\" 来匹配该字符本身的标点符号:
字符 说明
^ 匹配输入字符串的开始位置。要匹配 "^" 字符本身,请使用 "\^"
$ 匹配输入字符串的结尾位置。要匹配 "$" 字符本身,请使用 "\$"
( ) 标记一个子表达式的开始和结束位置。要匹配小括号,请使用 "\(" 和 "\)"
[ ] 用来自定义能够匹配 '多种字符' 的表达式。要匹配中括号,请使用 "\[" 和 "\]"
{ } 修饰匹配次数的符号。要匹配大括号,请使用 "\{" 和 "\}"
. 匹配除了换行符(\n)以外的任意一个字符。要匹配小数点本身,请使用 "\."
? 修饰匹配次数为 0 次或 1 次。要匹配 "?" 字符本身,请使用 "\?"
+ 修饰匹配次数为至少 1 次。要匹配 "+" 字符本身,请使用 "\+"
* 修饰匹配次数为 0 次或任意次。要匹配 "*" 字符本身,请使用 "\*"
| 左右两边表达式之间 "或" 关系。匹配 "|" 本身,请使用 "\|"
--------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------
转义字符 \Q...\E:
使用 \Q 开始,\E 结束,可使中间的标点符号失去特殊意义,将中间的字符作为普通字符。
使用 \U 开始,\E 结束,除了具有 \Q...\E 相同的功能外,还将中间的小写字母转换成大写。
在大小写敏感模式下,只能与大写文本匹配。
使用 \L 开始,\E 结束,除了具有 \Q...\E 相同的功能外,还将中间的大写字母转换成小写。
在大小写敏感模式下,只能与小写文本匹配。
说明:
\Q...\E 适合用于:表达式中需要比较长的普通文本,而其中包含了特殊符号。
举例
表达式 说明
\Q(a+b)*3\E 可匹配文本 "(a+b)*3"。
\(a\+b\)\*3 如果不使用 \Q...\E 进行转义,则对每个特殊符号进行转义。
--------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------
字符集合:
可以匹配 "多个字符" 其中任意一个字符的正则表达式。虽然是 "多个字符",但每次只能匹配其中一个。
说明:
字符集合 说明
. 小数点可以匹配除了换行符(\n)以外的任意一个字符
\w 可以匹配任何一个字母或者数字或者下划线
\W W大写,可以匹配任何一个字母或者数字或者下划线以外的字符
\s 可以匹配空格、制表符、换页符等空白字符的其中任意一个
\S S大写,可以匹配任何一个空白字符以外的字符
\d 可以匹配任何一个 0~9 数字字符
\D D大写,可以匹配任何一个非数字字符
--------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------
自定义字符集合 [ ]:
用中括号 [ ] 包含多个字符,可以匹配所包含的字符中的任意一个。同样,每次只能匹配其中一个。
用中括号 [^ ] 包含多个字符,构成否定格式,可以匹配所包含的字符之外的任意一个字符。
说明:
正则表达式中的特殊符号,如果被包含于中括号中,则失去特殊意义,但 \ [ ] : ^ - 除外。
标准字符集合,除小数点(.)外,如果被包含于中括号中,自定义字符集合将包含该集合。
比如:[\d.\-+],将可以匹配数字,小数点和 + - 符号。(小数点和 + 号失去特殊意义)
用减号相连的 2 个普通字符,自定义字符集合将包含该范围。
比如:[\dA-Fa-f],将可以匹配 0 - 9, A - F, a - f。
--------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------
匹配次数限定符: 使被修饰的表达式可多次重复匹配的修饰符。
说明:
可使被修饰的表达式重复固定次数,也可以限定一定的重复匹配的次数范围。
在限定符之后的表达式能够匹配成功的情况下,不定次数的限定符总是尽可能的多匹配。
如果之后的表达式匹配失败,限定符可适当“让出”能够匹配的字符,以使整个表达式匹配成功。
这种模式就叫“贪婪模式”。
限定符 说明
{n} 表达式固定重复n次,比如:"\w{2}" 相当于 "\w\w"
{m, n} 表达式尽可能重复n次,至少重复m次:"ba{1,3}"可以匹配 "ba"或"baa"或"baaa"
{m, } 表达式尽可能的多匹配,至少重复m次:"\w\d{2,}"可以匹配 "a12","x456"...
? 表达式尽可能匹配1次,也可以不匹配,相当于 {0, 1}
+ 表达式尽可能的多匹配,至少匹配1次,相当于 {1, }
* 表达式尽可能的多匹配,最少可以不匹配,相当于 {0, }
"勉强模式"限定符:
在限定符之后添加问号(?),则使限定符成为“勉强模式”。勉强模式的限定符,总是尽可能少的匹配。
如果之后的表达式匹配失败,勉强模式也可以尽可能少的再匹配一些,以使整个表达式匹配成功。
限定符 说明
{m, n}? 表达式尽量只匹配m次,最多重复n次。
{m, }? 表达式尽量只匹配m次,最多可以匹配任意次。
?? 表达式尽量不匹配,最多匹配1次,相当于 {0, 1}?
+? 表达式尽量只匹配1次,最多可匹配任意次,相当于 {1, }?
*? 表达式尽量不匹配,最多可匹配任意次,相当于 {0, }?
"占有模式"限定符:
在限定符之后添加加号(+),则使限定符成为“占有模式”。占有模式的限定符,总是尽可能多的匹配。
与“贪婪模式”不同的是,即使之后的表达式匹配失败,“占有模式”也不会“让出”自己能够匹配的字符。
限定符 说明
{m, n}+ 表达式尽可能重复n次,至少重复m次。
{m, }+ 表达式尽可能的多匹配,至少重复m次。
?+ 表达式尽可能匹配1次,也可以不匹配,相当于 {0, 1}+
++ 表达式尽可能的多匹配,至少匹配1次,相当于 {1, }+
*+ 表达式尽可能的多匹配,最少可以不匹配,相当于 {0, }+
--------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------
字符边界:
本身不匹配任何字符,只对字符边界和字符间缝隙附加条件的表达式。
说明:
有些正则表达式中的符号,可以对文本中当前所在位置作限制条件.
边界条件 说明
^ 当前位置必须是文本开始位置
$ 当前位置必须是文本结束位置
\b 当前位置的左右两侧,只能有一侧是字母数字或下划线
--------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------
选择表达式 xxx | xxx:
使用竖线 "|" 分隔多段表达式,整个表达式可匹配其中任意一段。
说明
正则引擎总是从左向右进行尝试匹配,如果每一段表达式都匹配失败,则整个表达式匹配失败。
--------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------
分组 ( ):(注:这是捕获组)
用括号 ( ) 将其他表达式包含,可以使被包含的表达式组成一个整体,在被修饰匹配次数时,可作为整体被修饰。
另外,用括号包含的表达式,所匹配到的内容将单独作记录,匹配过程中或结束后可以被获取。
说明
每一对括号会分配一个编号,使用 () 的捕获根据左括号的顺序从 1 开始自动编号。捕获元素编号为零的第一
个捕获是由整个正则表达式模式匹配的文本---就是整个表达式
组和捕获
捕获组可以通过从左到右计算其开括号来编号。例如,在表达式 ((A)(B(C))) 中,存在四个这样的组:
1 ((A)(B(C)))
2 \A
3 (B(C))
4 (C)
组零始终代表整个表达式。
--------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------
字符类运算符的优先级如下所示,按从最高到最低的顺序排列:
1 字面值转义 \x
2 分组 [...]
3 范围 a-z
4 并集 [a-e][i-u]
5 交集 [a-z&&[aeiou]]
--------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------
非捕获组 (?:xxx):
使用 (?: ) 包含其他表达式,可使被包含的表达式组成一个整体,在被修饰匹配次数时,可作为整体被修饰。
说明:
与普通分组不同的是,非捕获组不记录所匹配的内容,比普通分组更节约内存资源。
通过格式 (?ismg-ismg:xxx) 可对匹配模式进行修改,修改后的模式只对当前非捕获组内部起作用。
--------------------------------------------------------------------------------------------------------------------------
发表评论
-
使用json-lib进行Java和JSON之间的转换
2013-05-09 09:30 1104http://www.cnblogs.com/mailing ... -
java验证身份证号码及编码规则和提取相应信息
2012-09-21 16:39 1795转自:http://www.cnblogs.com ... -
判断二个RGB颜色相近
2012-08-27 12:04 8921转自:http://blog.sina.com.cn/s ... -
Java中颜色的String和Color对象之间的互相转换
2012-06-27 09:10 2571转自http://blog.csdn.net/signs ... -
字符编码详解——彻底理解掌握编码知识,“乱码”不复存在
2012-06-04 16:07 1413摘自 <http://polaris1119.iteye ... -
Java编程中“为了性能”尽量要做到的一些地方
2012-04-26 15:28 778http://www.iteye.com/magazines/ ... -
POI 汇总、总结帖
2012-01-17 17:21 1937最近工作需求使用POI,使用场景如下: 1、查询数据库获取数 ... -
POI实现插入行
2012-01-17 17:13 15247http://hi.baidu.com/xiangliling ... -
POI操作Excel文档-中级篇
2012-01-17 17:12 1268转自 http://ltc603.iteye.com/blo ... -
POI操作Excel文档-基础篇
2012-01-17 17:09 1076转自:http://ltc603.iteye.com/blog ... -
制作完整的java可执行文件
2012-01-09 10:56 995转自:http://www.cnblogs.com/Seiya ... -
Step By Step(Java 系列的目录)
2012-01-09 10:10 755转自:http://www.cnblogs.com/steph ... -
引用weblogic10的weblogic.jar
2011-12-27 11:35 2851weblogic10及以后的版本,不能直接使用server/l ... -
SWING 那几刀
2011-12-25 01:29 1946最近想做一些桌面程序,所以把前段时间ITEYE上很多的Swin ... -
遍历Map时抛出java.util.ConcurrentModificationException异常的解决办法
2011-12-22 15:46 3003转自http://hi.baidu.com/notyetfis ... -
Crack JRebel 4.0,无需重启JVM,热部署解决方案
2011-12-02 15:44 1432http://dl.dropbox.com/u/2295134 ... -
log4j详解与实战
2011-11-01 15:45 1155转自:http://www.iteye.com/t ... -
【解惑】深入jar包:从jar包中读取资源文件
2011-07-17 12:36 1152我们常常在代码中读取一些资源文件(比如图片,音乐,文 ... -
sun.misc.BASE64Encoder与sun.misc.BASE64Decoder导入错误
2011-07-14 21:24 12191项目中引用import sun.misc.BASE64Deco ... -
分享高效java开发者必备的资源列表
2011-07-14 09:11 1233分享高效java开发者必备 ...
相关推荐
PHP正则表达式基本语法和使用方法 一、实验环境 1、环境搭建:Windows 8+Apache 2.4.18+MySQL 5.7.11+PHP 7.1.0 。 2、文本编辑器:Sublime Text3。 二、主要技术 正则表达式(regular expression)是一种表示方式,...
一个正则表达式就是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式。该模式描述在查找文字主体时待匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行...
正则表达式通常由一些特殊的字符和语法组成,这些字符和语法可以被组合在一起以描述复杂的字符串模式。 2. 正则表达式的组成部分 正则表达式通常由以下几部分组成: * 字符 literals:这些是正则表达式中最基本的...
通过一个精练的教程理解正则表达式的基本原理和技巧; 在不同的编程语言和脚本语言中有效使用正则表达式; 学习如何对输入进行合法性检查和格式化; 处理单词、文本行、特殊字符和数值; 学习如何在uRL、路径、...
只能输入由26个大写英文字母组成的字符串:"^[A-Z]+$"。 只能输入由26个小写英文字母组成的字符串:"^[a-z]+$"。 只能输入由数字和26个英文字母组成的字符串:"^[A-Za-z0-9]+$"。 只能输入由数字、26个英文...
该教程中所介绍的正则表达式应用仅仅是最为简单的(并没有完全地涉及到 Pattern 类支持的所有正则表达式语法,也没有涉及到高级的应用),适合于从未接触过或者是尚未完全明白正则表达式基础的学习者。在学习完该...
关于正则表达式语法。介绍了基本表达式。可以用于快速查询表达式的匹配符。
Java正则表达式 ,介绍java正则表达式的基本语法等信息
正p表达式基本语法详解正p表达式基本语法详解app开发报价单开发一Napp多少钱达内的计算机学校排名集成灶十大排行达内培训怎R样集成灶的排名集成墙面价格p2p网
正则表达式的基本语法,主要用于javascript开发时看正则表达式方便点
本书从正则表达式的基本概念、基本语法入手 着重于数字验证、字符串验证、数字和字符串混合验证及html处理等各个方面的应用。并基于目前流行的程序语言和应用环境-如c、asp.net、jsp、或php 全面介绍了创建正则...
通过一个精练的教程理解正则表达式的基本原理和技巧; 在不同的编程语言和脚本语言中有效使用正则表达式; 学习如何对输入进行合法性检查和格式化; 处理单词、文本行、特殊字符和数值; 学习如何在URL、...
正则表达式(Regular Expression)是一种用来描述字符串规则的工具,它可以用来匹配、查找、替换字符串,是...在本教程中,我们将介绍正则表达式的基本语法、常用模式和实际应用,帮助你快速掌握正则表达式的使用方法。
1.正则表达式基本语法 两个特殊的符号’^’和’$’。他们的作用是分别指出一个字符串的开始和结束。例子如下: “^The”:表示所有以”The”开始的字符串(”There”,”The cat”等); “of despair$”:表示所以...
《神奇的匹配:正则表达式求精之旅》从正则表达式的基本概念、基本语法入手,着重于数字验证、字符串验证、数字和字符串混合验证及HTML处理等各个方面的应用。并基于目前流行的程序语言和应用环境(如C#、ASP.NET、...