




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Java 正则表达式的解释说明Java 正则表达式的解释说明表达式意义:1.字符 x字符x 。例如 a 表示字符 a反斜线字符。在书写时要写为。(注意:因为java在第一次解析时,把解析成正则表达式,在第二次解析时再解析为,所以凡是不是1.1 列举到的转义字符,包括1.1的,而又带有的都要写两次)0n0nn0mnn带有八进制值0 的字符n (0 <= n <= 7)带有八进制值0 的字符nn (0 <= n <= 7)带有八进制值0 的字符mnn( 0 <= m <= 3、0 <= n <= 7)xhhuhhhh带有十六进制值带有十六进制值0x的
2、字符hh0x 的字符hhhht制表符(u0009)n新行(换行)符(u000A)r回车符(u000D)f换页符(u000C)a报警(bell)符 (u0007)e转义符(u001B)cx对应于x 的控制符2.字符类abca、 b 或 c(简单类)。例如 egd 表示包含有字符e、g 或 d。abc任何字符,除了a、 b 或 c(否定)。例如 egd表示不包含字符e、g 或 d。a-zA-Za 到 z 或 Aa-dm-pa 到 d 或a-z&&defa-z&&bc到 Z,两头的字母包括在内 (范围)m 到 p: a-dm-p (并集)d、 e 或 f (交集)a
3、到 z,除了b 和 c: ad-z (减去)a-z&&m-pa 到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字母字符: pLow
4、erpUpperpDigit十进制数字:0-9pAlnum字母数字字符:pAlphapDigitpPunct标点符号: !#$%&()*+,-./:;<=>?_|pGraph可见字符: pAlnumpPunctpPrint可打印字符: pGraphx20pBlank空格或制表符: tpCntrl控制字符: x00-x1Fx7FpXDigit十六进制数字:0-9a-fA-FpSpace空白字符: tnx0Bfr5.java.lang.Character 类(简单的java 字符类型)pjavaLowerCase等效于java.lang.Character.isLowerCas
5、e()pjavaUpperCase等效于java.lang.Character.isUpperCase()pjavaWhitespace等效于java.lang.Character.isWhitespace()pjavaMirrored等效于java.lang.Character.isMirrored()6.Unicode 块和类别的类pInGreekGreek 块(简单块)中的字符pLu大写字母(简单类别)pSc货币符号PInGreek所有字符, Greek 块中的除外(否定)pL&&pLu所有字母,大写字母除外(减去)7.边界匹配器 行的开头,请在正则表达式的开始处使用 。
6、例如:(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
7、表示在上一个匹配结尾处查找dog 如果没有的话则从开头查找 ,注意如果开头不是dog 则不能匹配。Z输入的结尾,仅用于最后的结束符(如果有的话)行结束符是一个或两个字符的序列,标记输入字符序列的行结尾。以下代码被识别为行结束符:新行(换行)符(n) 、后面紧跟新行符的回车符(rn) 、单独的回车符(r) 、下一行字符(u0085) 、行分隔符(u2028) 或段落分隔符(u2029) 。z输入的结尾当编译模式时,可以设置一个或多个标志,例如Pattern pattern =Ppile(patternString,Pattern.CASE_INSENSITIVE +Pattern.UNICODE
8、_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 ,一次
9、或多次XnX ,恰好n 次Xn,X ,至少n 次Xn,mX ,至少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 量 词被看
10、作 贪婪的 ,因为它第一次就读入整个被模糊匹配的字符串。如果第一个匹配尝试(整个输入字符串)失败,匹配器就会在被匹配字符串中的最后一位后退一个字符并且再次尝试,重复这个过程,直到找到匹配或者没有更多剩下的字符可以后退为止。根据表达式中使用的量词,它最后试图匹配的内容是1 个或者 0 个字符。但是, reluctant 量词采取相反的方式:它们从被匹配字符串的开头开始,然后逐步地一次读取一个字符搜索匹配。它们最后试图匹配的内容是整个输入字符串。最后, possessive量词总是读完整个输入字符串,尝试一次(而且只有一次)匹配。和greedy 量词不同, possessive从不后退。11.Lo
11、gical运算符XYX 后跟YX|YX 或Y(X) X ,作为捕获组。例如 (abc)表示把 abc 作为一个整体进行捕获12.Back 引用n任何匹配的nth 捕获组捕获组可以通过从左到右计算其开括号来编号。例如,在表达式(A)(B(C) 中,存在四个这样的组:1(A)(B(C)2A3(B(C)4(C)在表达式中可以通过 n 来对相应的组进行引用, 例如 (ab)341 就表示 ab34ab, (ab)34(cd)12 就表示 ab34cdabcd。13.引用Nothing ,但是引用以下字符QNothing ,但是引用所有字符,直到E。QE 之间的字符串会原封不动的使用(1.1 中转义字符
12、的除外)。例如 ,abQ|E可以匹配 ab|ENothing ,但是结束从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 UN
13、ICODE_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 ,通过零宽度的正lookbehind 。零宽度正后发断言。仅当子表达式X 在 此位置的左侧匹配时才继续匹配。例如, (?<=19)99表示 99 前面是数字19,但不捕获前面的 19。(不回溯)(?!x)X ,通过零宽度的负lookbehind 。零宽度负后发断言。仅当子表达式X 不在此位置的左侧匹配时
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五版租房子合同书模板
- 二零二五版分红协议书合同书屋
- 教师岗位员工劳动合同书二零二五年
- 大学生职业规划大赛《市场营销专业》生涯发展展示
- 2025家具、家居用品买卖合同范本
- 2025年度生姜干采购合同
- 2025合同多样化存在形式探究
- 英语全沉浸教学法
- 音乐创作之旅
- 引领初二学习风向
- 2025-2030年中国小麦加工产业运行动态及发展可行性分析报告
- 乾坤未定皆有可能-2025届高三百日誓师班会课件
- 台达DELTA变频器VFD-EL系列使用说明书和手册(完整中文版)VFD007EL23A
- 2025年山西汾西矿业集团公司招聘笔试参考题库含答案解析
- 2024年度英语课件容貌焦虑
- 神经外科质量与安全管理工作计划
- 城市违建拆除施工方案
- 复色激光光谱分析研究
- 农药代销协议书模板
- 《电力中长期交易合同示范文本(2022年修订版)》
- 小学班会 世界知识产权日知识产权宣传周主题班会 课件
评论
0/150
提交评论