




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Java正则表达式的解释说明 表达式意义:1.字符x 字符 x。例如a表示字符a 反斜线字符。在书写时要写为。(注意:因为java在第一次解析时,把解析成正则表达式,在第二次解析时再解析为,所以凡是不是1.1列举到的转义字符,包括1.1的,而又带有的都要写两次)0n 带有八进制值 0的字符 n (0 = n = 7)0nn 带有八进制值 0的字符 nn (0 = n = 7)0mnn 带有八进制值 0的字符 mnn(0 = m = 3、0 = n = 7)xhh 带有十六进制值 0x的字符 hhuhhhh 带有十六进制值 0x的字符 hhhht 制表符 (u0009)n 新行(换行)符 (u000A)r 回车符 (u000D)f 换页符 (u000C)a 报警 (bell) 符 (u0007)e 转义符 (u001B)cx 对应于 x 的控制符2.字符类abc a、b或 c(简单类)。例如egd表示包含有字符e、g或d。abc 任何字符,除了 a、b或 c(否定)。例如egd表示不包含字符e、g或d。a-zA-Z a到 z或 A到 Z,两头的字母包括在内(范围)a-dm-p a到 d或 m到 p:a-dm-p(并集)a-z&def d、e或 f(交集)a-z&bc a到 z,除了 b和 c:ad-z(减去)a-z&m-p a到 z,而非 m到 p:a-lq-z(减去)3.预定义字符类(注意反斜杠要写两次,例如d写为d)任何字符(与行结束符可能匹配也可能不匹配)d 数字:0-9D 非数字: 0-9s 空白字符: tnx0BfrS 非空白字符:sw 单词字符:a-zA-Z_0-9W 非单词字符:w4.POSIX 字符类(仅 US-ASCII)(注意反斜杠要写两次,例如pLower写为pLower)pLower 小写字母字符:a-z。pUpper 大写字母字符:A-ZpASCII 所有 ASCII:x00-x7FpAlpha 字母字符:pLowerpUpperpDigit 十进制数字:0-9pAlnum 字母数字字符:pAlphapDigitpPunct 标点符号:!#$%&()*+,-./:;?_|pGraph 可见字符:pAlnumpPunctpPrint 可打印字符:pGraphx20pBlank 空格或制表符: tpCntrl 控制字符:x00-x1Fx7FpXDigit 十六进制数字:0-9a-fA-FpSpace 空白字符: tnx0Bfr5.java.lang.Character 类(简单的 java 字符类型)pjavaLowerCase 等效于 java.lang.Character.isLowerCase()pjavaUpperCase 等效于 java.lang.Character.isUpperCase()pjavaWhitespace 等效于 java.lang.Character.isWhitespace()pjavaMirrored 等效于 java.lang.Character.isMirrored()6.Unicode 块和类别的类pInGreek Greek 块(简单块)中的字符pLu 大写字母(简单类别)pSc 货币符号PInGreek 所有字符,Greek 块中的除外(否定)pL&pLu 所有字母,大写字母除外(减去)7.边界匹配器 行的开头,请在正则表达式的开始处使用。例如:(abc)表示以abc开头的字符串。注意编译的时候要设置参数MULTILINE,如 Pattern p = Ppile(regex,Pattern.MULTILINE);$ 行的结尾,请在正则表达式的结束处使用。例如:(bca).*(abc$)表示以bca开头以abc结尾的行。b 单词边界。例如b(abc)表示单词的开始或结束包含有abc,(abcjj、jjabc 都可以匹配)B 非单词边界。例如B(abc)表示单词的中间包含有abc,(jjabcjj匹配而jjabc、abcjj不匹配)A 输入的开头G 上一个匹配的结尾(个人感觉这个参数没什么用)。例如Gdog表示在上一个匹配结尾处查找dog如果没有的话则从开头查找,注意如果开头不是dog则不能匹配。Z 输入的结尾,仅用于最后的结束符(如果有的话)行结束符 是一个或两个字符的序列,标记输入字符序列的行结尾。以下代码被识别为行结束符: 新行(换行)符 (n)、 后面紧跟新行符的回车符 (rn)、 单独的回车符 (r)、 下一行字符 (u0085)、 行分隔符 (u2028) 或 段落分隔符 (u2029)。z 输入的结尾当编译模式时,可以设置一个或多个标志,例如Pattern pattern = Ppile(patternString,Pattern.CASE_INSENSITIVE + Pattern.UNICODE_CASE);下面六个标志都是支持的:CASE_INSENSITIVE:匹配字符时与大小写无关,该标志默认只考虑US ASCII字符。UNICODE_CASE:当与CASE_INSENSITIVE结合时,使用Unicode字母匹配MULTILINE:和$匹配一行的开始和结尾,而不是整个输入UNIX_LINES: 当在多行模式下匹配和$时,只将n看作行终止符DOTALL: 当使用此标志时,.符号匹配包括行终止符在内的所有字符CANON_EQ: 考虑Unicode字符的规范等价8.Greedy 数量词X? X,一次或一次也没有X* X,零次或多次X+ X,一次或多次Xn X,恰好 n 次Xn, X,至少 n 次Xn,m X,至少 n 次,但是不超过 m 次9.Reluctant 数量词X? X,一次或一次也没有X*? X,零次或多次X+? X,一次或多次Xn? X,恰好 n 次Xn,? X,至少 n 次Xn,m? X,至少 n 次,但是不超过 m 次10.Possessive 数量词X?+ X,一次或一次也没有X*+ X,零次或多次X+ X,一次或多次Xn+ X,恰好 n 次Xn,+ X,至少 n 次Xn,m+ X,至少 n 次,但是不超过 m 次Greedy,Reluctant,Possessive的区别在于:(注意仅限于进行.等模糊处理时)greedy量 词被看作“贪婪的”,因为它第一次就读入整个被模糊匹配的字符串。如果第一个匹配尝试(整个输入字符串)失败,匹配器就会在被匹配字符串中的最后一位后退 一个字符并且再次尝试,重复这个过程,直到找到匹配或者没有更多剩下的字符可以后退为止。根据表达式中使用的量词,它最后试图匹配的内容是1 个或者0个字符。但是,reluctant量词采取相反的方式:它们从被匹配字符串的开头开始,然后逐步地一次读取一个字符搜索匹配。它们最后试图匹配的内容是整个输入字符串。最后,possessive量词总是读完整个输入字符串,尝试一次(而且只有一次)匹配。和greedy量词不同,possessive从不后退。11.Logical 运算符XY X 后跟 YX|Y X 或 Y(X) X,作为捕获组。例如(abc)表示把abc作为一个整体进行捕获12.Back 引用n 任何匹配的 nth捕获组捕获组可以通过从左到右计算其开括号来编号。例如,在表达式 (A)(B(C)中,存在四个这样的组: 1 (A)(B(C)2 A3 (B(C)4 (C)在表达式中可以通过n来对相应的组进行引用,例如(ab)341就表示ab34ab,(ab)34(cd)12就表示ab34cdabcd。13.引用 Nothing,但是引用以下字符Q Nothing,但是引用所有字符,直到 E。QE之间的字符串会原封不动的使用(1.1中转义字符的除外)。例如, abQ|E可以匹配ab|E Nothing,但是结束从 Q开始的引用14.特殊构造(非捕获)(?:X) X,作为非捕获组(?idmsux-idmsux) Nothing,但是将匹配标志由 on 转为 off。比如:表达式 (?i)abc(?-i)def 这时,(?i) 打开不区分大小写开关,abc 匹配idmsux说明如下:i CASE_INSENSITIVE :US-ASCII 字符集不区分大小写。(?i)d UNIX_LINES : 打开UNIX换行符m MULTILINE :多行模式(?m)UNIX下换行为nWINDOWS下换行为rn(?s)u UNICODE_CASE : Unicode 不区分大小写。(?u)x COMMENTS :可以在pattern里面使用注解,忽略pattern里面的whitespace,以及#一直到结尾(#后面为注解)。(?x)例如(?x)abc#asfsdadsa可以匹配字符串abc(?idmsux-idmsux:X) X,作为带有给定标志 on - off 的非捕获组。与上面的类似,上面的表达式,可以改写成为:(?i:abc)def,或者 (?i)abc(?-i:def)(?=X) X,通过零宽度的正 lookahead。零宽度正先行断言,仅当子表达式 X 在 此位置的右侧匹配时才继续匹配。例如,w+(?=d) 表示字母后面跟数字,但不捕获数字(不回溯)(?!X) X,通过零宽度的负 lookahead。零宽度负先行断言。仅当子表达式 X 不在 此位置的右侧匹配时才继续匹配。例如,w+(?!d) 表示字母后面不跟数字,且不捕获数字。(?=X) X,通过零
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 传统与现代城市规划的融合-洞察及研究
- 投资额与绿色经济贡献-洞察及研究
- 数字经济中的隐私保护与安全-洞察及研究
- 健康产品市场细分-洞察及研究
- 微环境中分子机制探索-洞察及研究
- 东莞金融调查报告分析论文
- 化粪池清理合同样本
- 咨询工程考试真题及答案
- 桩基检测考试题库及答案
- 2025年注册环保工程师考试冲刺押题卷 环境管理体系难点突破
- 头道汤的课件
- 护肤品分析与讲解
- 肠外营养疗法规范或指南2025
- 2025年中国药典培训试题及答案
- Q-JJJ 9002-2025 铁路建设项目安全穿透式管理实施指南
- 2025年新闻记者从业资格证考试题库(附含答案)
- 制药设备改造管理制度
- 2026届新高考语文热点精准复习:诗歌观点态度评价
- DB31/T 1013-2016城市轨道交通地下车站环境质量要求
- 德普置业-湖南长沙美洲故事项目东区营销思路
- 高海拔地区常见疾病与适应措施
评论
0/150
提交评论