美文网首页
正则表达式

正则表达式

作者: PHPer_ | 来源:发表于2017-06-22 19:06 被阅读149次

在计算机科学中,是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。在很多文本编辑器或其他工具里,正则表达式通常被用来检索或替换那些符合某个模式的文本内容。许多程序设计语言都支持利用正则表达式进行字符串操作简而言之:可以判断所有的字符串是否满足规则的算式,而我们要做的,就是设定这条规则;
正则表达式不是PHP特有的知识,而是一门独立的知识点。几乎任何编程语言都要用正则表达式。因此,这个知识学会了。其它语言就不用再专门去学习了。都是用的同一个知识点。只不过不同语言操作正则表达式所用的函数有所不同而已。

正则表达式函数

preg_match:字符串比对解析
preg_match_all:字符串整体比对解析
preg_replace:字符串比对解析并取代
preg_split:将字符串依指定的规则切开

正则表达式速查表

\:转义符。例如,“n”匹配字符“n”。“\n”匹配一个换行符。串行“\”匹配“\”而“(”则匹配“(”
^:匹配输入字符串的开始位置
$:匹配输入字符串的结束位置
*:匹配前面的子表达式零次或多次。例如,zo能匹配“z”以及“zoo”。等价于{0,}
+: 匹配前面的子表达式一次或多次。例如,“zo+”能匹配“zo”以及“zoo”,但不能匹配“z”。+等价于{1,}
?:匹配前面的子表达式零次或一次。例如,“do(es)?”可以匹配“does”或“does”中的“do”。?等价于{0,1}
{n}:n是一个非负整数。匹配确定的n次。例如,“o{2}”不能匹配“Bob”中的“o”,但是能匹配“food”中的两个o
{n,}:n是一个非负整数。至少匹配n次。例如,“o{2,}”不能匹配“Bob”中的“o”,但能匹配“foooood”中的所有o。“o{1,}”等价于“o+”。“o{0,}”则等价于“o*”
{n,m}:m和n均为非负整数,其中n<=m。最少匹配n次且最多匹配m次。例如,“o{1,3}”将匹配“fooooood”中的前三个o。“o{0,1}”等价于“o?”。请注意在逗号和两个数之间不能有空格。
x|y:匹配x或y。例如,“z|food”能匹配“z”或“food”。“(z|f)ood”则配“zood”或“food”。
[xyz] :字符集合。匹配所包含的任意一个字符。例如,“[abc]”可以匹配“plain”中的“a”。
[xyz]:负值字符集合。匹配未包含的任意字符。例如,“[abc]”可以匹配“plain”中的“p”。
[a-z] :字符范围。匹配指定范围内的任意字符。例如,“[a-z]”可以匹配“a”到“z”范围内的任意小写字母字符。
[^a-z] :负值字符范围。匹配任何不在指定范围内的任意字符。例如,“[^a-z]”可以匹配任何不在“a”到“z”范围内的任意字符。
\b:匹配一个单词边界,也就是指单词和空格间的位置。例如,“er\b”可以匹配“never”中的“er”,但不能匹配“verb”中的“er”。
\B:匹配非单词边界。“er\B”能匹配“verb”中的“er”,但不能匹配“never”中的“er”。
\cx:匹配由x指明的控制字符。例如,\cM匹配一个Control-M或回车符。x的值必须为A-Z或a-z之一。否则,将c视为一个原义的“c”字符。
\d:匹配一个数字字符。等价于[0-9]。
\D:匹配一个非数字字符。等价于[^0-9]。
\f:匹配一个换页符。等价于\x0c和\cL。
\n:匹配一个换行符。等价于\x0a和\cJ。
\r:匹配一个回车符。等价于\x0d和\cM。
\s:匹配任何空白字符,包括空格、制表符、换页符等等。等价于[ \f\n\r\t\v]。
\S:匹配任何非空白字符。等价于[^ \f\n\r\t\v]。
\t:匹配一个制表符。等价于\x09和\cI。
\v:匹配一个垂直制表符。等价于\x0b和\cK。
\w:匹配包括下划线的任何单词字符。等价于“[A-Za-z0-9_]”。
\W:匹配任何非单词字符。等价于“[^A-Za-z0-9_]”。

正则表达式定义

用户名: /^[a-z0-9_-]{2,16}$/
密码:    /^[a-z0-9_-]{6,16}$/
电子邮箱:/^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/
网址:/http[s]?://([a-z0-9]+\.)?[a-z0-9]+\.[a-z0-9]+/
IP 地址:  /((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)/
HTML 标签:/^<([a-z]+)([^<]+)*(?:>(.*)<\/\1>|\s+\/>)$/
QQ号:    /[0-9]{5,11}/
手机号:    /1[3|5|8]{1}[\d]{9}/
固定电话:/([\d]{3,4}\-)?[\d]{7,8}/
邮政编码:/[\d]{6}/

任务

请写出常用的QQ、用户名、密码、邮箱的正则表达式,结合前台页面传递的值运用函数进行匹配达到有效拦截

相关文章

  • Linux命令行与Shell脚本编程大全-shell正则表达式

    本章内容: 定义正则表达式 了解基本正则表达式 扩展正则表达式 创建正则表达式 定义正则表达式 正则表达式是你定义...

  • 正则相关

    正则表达式基本语法 正则表达式常见字符 正则表达式特殊字符 正则表达式数量词 正则表达式边界匹配 正则表达式逻辑或...

  • 正则表达式系列-1

    正则表达式系列-1正则表达式系列-2正则表达式系列-3正则表达式系列-4 什么是正则表达式 正则表达式就是用事先定...

  • 正则表达式

    正则表达式 - 教程正则表达式 - 简介正则表达式 - 语法正则表达式 - 元字符正则表达式 - 运算符优先级正则...

  • Python基础入门 - 正则表达式与综合实战

    1. 初识正则表达式 1.1 介绍 步骤介绍正则表达式入门及应用正则表达式的进阶正则表达式案例 1.2 正则表达式...

  • Java正则表达式参考

    Java正则表达式入门 java正则表达式应用 深入浅出之正则表达式(一) 深入浅出之正则表达式(二) 正则表达式...

  • 正则表达式

    正则表达式 正则表达式就是记录文本规则的代码 正则表达式常用的元字符 正则表达式常用的限定符 正则表达式举例:这里...

  • Python爬虫(十)_正则表达式

    本篇将介绍python正则表达式,更多内容请参考:【python正则表达式】 什么是正则表达式 正则表达式,又称规...

  • python正则表达式

    本篇将介绍python正则表达式,更多内容请参考:【python正则表达式】 什么是正则表达式 正则表达式,又称规...

  • 正则表达式

    了解正则表达式基本语法 能够使用JavaScript的正则对象 正则表达式简介 什么是正则表达式 正则表达式:用于...

网友评论

      本文标题:正则表达式

      本文链接:https://www.haomeiwen.com/subject/srofcxtx.html