文档详情

25、正则表达式.ppt

发布:2017-08-12约1.49万字共66页下载文档
文本预览下载声明
第二十五讲 正则表达式 这些是什么? “[0-9A-Za-z]+@([0-9a-zA-Z]+.){1,2}(com|net|cn|)” “[\u4e00-\u9fa5]” “http://([\w-]+\.)+[\w-]+(/[\w- ./?%=]*)?” “1\\d{2}” 目标 正则表达式的概念 正则表达式的基本语法 在Java中使用正则表达式 常用正则表达式 正则表达式的概念 正则表达式(regular expression)是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配 正则表达式的组成部分 11-1 普通字符 由所有那些未显式指定为元字符的打印和非打印字符组成。这包括所有的大写和小写字母字符、所有数字、所有标点符号以及一些符号 非打印字符 \f 匹配一个换页符 \n 匹配一个换行符 \r 匹配一个回车符 \s 匹配任何空白字符,包括空格、制表符、换页符等等 \S 匹配任何非空白字符 \t 匹配一个制表符 \v 匹配一个垂直制表符 正则表达式的组成部分 11-2 特殊字符 所谓特殊字符,就是一些有特殊含义的字符 特殊字符 说明 $ 匹配输入字符串的结尾位置 ( ) 标记一个子表达式的开始和结束位置。子表达式可以获取供以后使用 * 匹配前面的子表达式0次或多次 + 匹配前面的子表达式1次或多次 . 匹配除换行符 \n之外的任何单字符 [ 标记一个中括号表达式的开始 ? 匹配前面的子表达式0次或1次 正则表达式的组成部分 11-3 特殊字符 说明 \ 将下一个字符标记为或特殊字符、或原义字符、或向后引用、或八进制转义符。例如, ‘n’ 匹配字符 ‘n‘,而\n 匹配换行符。序列 \\ 匹配 \,而 \( 则匹配 ( ^ 匹配输入字符串的开始位置,除非在方括号表达式中使用,此时它表示不接受该字符集合 { 标记限定符表达式的开始 | 指明两项之间的一个选择 正则表达式的组成部分 11-4 限定符 限定符用来指定正则表达式的一个给定组件必须要出现多少次才能满足匹配。共6种: 限定符 说明 * 匹配前面的子表达式0次或多次 + 匹配前面的子表达式1次或多次 ? 匹配前面的子表达式0次或1次 {n} n 是一个非负整数。匹配确定的 n 次 {n,} n 是一个非负整数。至少匹配n 次 {n,m} m 和 n 均为非负整数,其中n = m。最少匹配 n 次且最多匹配 m 次。注意在逗号和两个数之间不能有空格 正则表达式的组成部分 11-5 定位符 用来描述字符串或单词的边界,^和$分别指字符串的开始字符与结束字符 不能对定位符使用限定符 选择 用圆括号()将所有选择项括起来,相邻的选择项之间用|分隔 正则表达式的组成部分 11-6 其它 (pattern) 匹配 pattern 并获取这一匹配。所获取的匹配可以从产生的 Matches 集合得到 (?:pattern) 匹配 pattern 但不获取匹配结果,也就是说这是一个非获取匹配,不进行存储供以后使用。这在使用 或 字符 (|) 来组合一个模式的各个部分是很有用。例如, industr(?:y|ies) 就是一个比 industry|industries 更简略的表达式 正则表达式的组成部分 11-7 (?=pattern) 正向预查,在任何匹配 pattern 的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。例如,Windows (?=95|98|NT|2000) 能匹配 Windows 2000 中的 Windows ,但不能匹配 Windows 3.1 中的 Windows。当找到一个匹配后,从Windows后面开始进行下一次的检索匹配 正则表达式的组成部分 11-8 (?!pattern) 负向预查,在任何不匹配 pattern 的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。例如‘Windows (?!95|98|NT|2000)’ 能匹配 “Windows 3.1” 中的 “Windows”,但不能匹配 “Windows 2000” 中的 “Windows”。当找到一个匹配后,从Windows后面开始进行下一次的检索匹配 正则表达式的组成部分 11-9 \xn 匹配
显示全部
相似文档