正则表达式入门

来源:互联网 发布:klairs淘宝官网 编辑:程序博客网 时间:2024/05/21 22:27

正则表达式

什么是正则表达式?

  • 正则表达式又称规则表达式,正则表达式是对字符串(包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”))操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。

常见的标准字符说明

标准字符 含义 \d 匹配0-9之间的任意一个数字,相当于[0-9] \D 匹配非数字字符[^0-9] \w 匹配任意一个字母、数字或下划线相当于[A-Za-z0-9] \W 匹配非字母、数字或下划线相当于[^A-Za-z0-9] \s 匹配任何空白字符,例如空格,制表符,换页符等,相当于?[\r\n\f\t\v] \S 匹配任何非空白字符,相当于[^\r\n\f\t\v] \n 匹配换行符 \r 匹配回车 \t 匹配制表符 \v 匹配垂直制表符 \f 匹配换页符

常用的特殊字符说明

特殊字符 含义 \ 转义字符,将下一个字符标记为特殊字符 ^ 匹配字符串开始的位置 $ 匹配字符串结束的位置 * 零次或多次匹配前面的字符或者子表达式 + 一次或多次匹配前面的字符或者子表达式 ? 零次或一次匹配前面的字符或者子表达式 . 匹配除”\n\r”以外的任何单一字符 | 或 [] 匹配字符组中的字符 () 分组 {n} 重复匹配n次 {n,} 重复n次或更多次 {n,m} 重复n到m次

模式匹配符

特殊字符 含义 /i 不区分大小写 (insensitive) /g 全局匹配 (global) /m 多行模式 (mult)

两种匹配模式

  • 正则表达式的默认模式是贪婪模式,即尽可能多的匹配字符。非贪婪模式顾名思义就是尽可能少的去匹配字符。在匹配字数的两次后加一个“?”问好即可。

在大家对正则表达式的一些常见的字符有了基础的了解以后,博主就给大家介绍一下一些简单的实例,方便大家加深对正则表达式的理解

所需匹配的字符 正则表达式 匹配结果 正则表达式含义 123456abcga789cbhsauca /[0-9]+/g 这里写图片描述 匹配字符串中的所有数字 123456abcga789cbhsauca /[^0-9]+/g 这里写图片描述 匹配非数字的字符 123456abcga789cbhsauca /[0-9]{1,2}/g 这里写图片描述 匹配从匹配起的第一个数字字符起,再往后加1个字符(即:每三个数字为一组) 612asbdgad3456abcga789cbh6 /^6.{0,5}/g 这里写图片描述 匹配以6开头的除了换行符以外的5个字符 612asbdgad3456abcga789cbh6axahwa 6.{0,6}$ 这里写图片描述 李杰和李莲英和李二棍子 李[杰莲英二棍子]* 这里写图片描述 匹配”李”字后面包含[杰莲英二棍子]的字符任意次

以上就是博主为了方便大家更好的了解正则表达式的使用,给大家举的一些例子
接下来,博主就把一些比较常用的正则表达式给大家归纳一下

正则表达式 适用情况 /(\w+):\/\/([^/:]+)(:\d*)?([^# ]*)/ 将一个URL解析为协议、域、端口及相对路径。 ^\w+([-+.]\w+)@\w+([-.]\w+).\w+([-.]\w+)*$ 匹配email邮箱 \d{4}-\d{8}|\d{3}-\d{8} 匹配xxx-xxxxxxxx或者xxxx-xxxxxxxx类型的电话号码 ^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$ 匹配手机号码 ^[a-zA-Z]\w{5,17}$ 字母开头,长度在6~18之间,只能包含字母、数字和下划线的密码 ^(?=.\d)(?=.[a-z])(?=.*[A-Z]).{8,10}$ 必须包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间 \d{4}-[0-12]+-[0-31]+ 匹配xxxx-xx-xx的日期格式

以上就是关于正则表达式的一些知识点,如果想查看关于正则表达式的应用,可以查看博主的另一篇博客PHP利用curl实现爬虫,最后博主就给大家安利一个比较的好的在线测试正则表达式的网站regexr

原创粉丝点击