正则表达式入门ailk.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
正则表达式入门 曹利锋 正则表达式是什么 描述了一种字符串匹配的模式,可以用来检查一个串是否含有某个子串、将匹配的子串做替换或者从某个串中取出符合某个条件的子串等。 一个正则表达式就是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式。该模式描述在查找文字主体时待匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。 我们用过的最简单的规则:文件查找通配符:“?”和“*” 正则表达式的作用 测试字符串的某个模式。例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或一个信用卡号码模式。这称为数据有效性验证。 替换文本。可以在文档中使用一个正则表达式来标识特定文字,然后可以全部将其删除,或者替换为别的文字。 根据模式匹配从字符串中提取一个子字符串。可以用来在文本或输入字段中查找特定文字。 第一个正则表达式 从英文小说中查找 hi 但不能把him,high,history也找到,可以用\bhi\b \b表示匹配一个单词边界,如果是 \bhi\w*,那就找到了him,high,history 假如你要找的是hi后面不远处跟着一个Lucy,你应该用\bhi\b.*\bLucy\b。 其中,.*连在一起就意味着任意数量的不包含换行的字符。 第二个正则表达式 三位区号八位机号的电话号码 0\d\d-\d\d\d\d\d\d\d\d 其中\d指的是数字 可以简化为: 0\d{2}-\d{8} {}中表示的是重复的次数。 我们走到哪了? 我们现在有以下正则表达式的元字符 \b \w \d . * {} 这些都是什么意思? 更进一步 \d+匹配1个或更多连续的数字。下限是至少一次。 而*的下限是0次 再例: \b\w{6}\b 匹配刚好6个字母/数字的单词。 常用的元字符 代码 说明 . 匹配除换行符以外的任意字符 \w 匹配字母或数字或下划线或汉字 \s 匹配任意的空白符 \d 匹配数字 \b 匹配单词的开始或结束 ^ 匹配字符串的开始 $ 匹配字符串的结束 匹配QQ号 QQ号最少是5个数字,目前最长是12位数字 字符转义 要匹配正则表达式中用的字符,如\ 这就需要转义,应当写成\\ 类似,我们还有:\. \* \+ 等等 常用的限定符 代码/语法 说明 * 重复零次或更多次 + 重复一次或更多次 ? 重复零次或一次 {n} 重复n次 {n,} 重复n次或更多次 {n,m} 重复n到m次 字符范围 [xyz]字符集合。匹配所包含的任意一个字符。 [a-z]字符范围。匹配指定范围内的任意字符。 所以 [0-9]代表的含意与\d就是完全一致 同理 [a-z0-9A-Z_] 也完全等同于\w (当然,这种等同只能仅考虑英文) 例子: 1.QQ号改正:QQ后首位不能为0 2.匹配(010或022或02912345678 反义 反义,有定义的元字符大写,即是反义,同样,字符集前加上^也是反义。所以: 代码/语法 说明 \W 匹配任意不是字母,数字,下划线,汉字的字符 \S 匹配任意不是空白符的字符 \D 匹配任意非数字的字符 \B 匹配不是单词开头或结束的位置 [^x] 匹配除了x以外的任意字符 [^a-z] 负值字符范围。匹配任何不在指定范围内的任意字符。 并列 用|表示或者,把每一个规则分开,用|合并为一组共用。 例子: 电话号码可以是3位区号8位号码,或4位区号7位号码 022 0477-7192112 分组 字符可以指定重复次数,规则表达式如何指定重复次数? IP地址(\d{1,3}\.){3}\d{1,3} (\d{1,3}\.)这部分是1到3位数字加“.”,用括号表示为一个子表达式,并且{3}表示重复3次。 后向引用 使用小括号指定一个子表达式后,匹配这个子表达式的文本(也就是此分组捕获的内容)可以在表达式或其它程序中作进一步的处理。默认情况下,每个分组会自动拥有一个组号,规则是:从左向右,以分组的左括号为标志,第一个出现的分组的组号为1,第二个为2,以此类推。 组号保存的结果,实际如同程序中变量或数组保存数据一样。对组号的调用,如果是使用变量。 后向引用示例 后向引用用于重复搜索前面某个分组匹配的文本。例如,\1代表分组1匹配的文本。难以理解?请看示例: \b(\w+)\b\s+\1\b可以用来匹配重复的单词,像go go, kitty kitty。首先是一个单词,也就是单词开始处和结束处之间的多于一个的字母或数字

文档评论(0)

wendan118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档