PHP之正则表达式

什么是正则表达式?

正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。

正则表达式的特点是:

1、灵活性,逻辑性和功能性非常强。

2、可以迅速地用简单的方式表达达到字符串的复杂控制

3、对于刚接触到人来说,比较晦涩难懂


正则表达式的用用途:

1、判断字符串是否符合某一规则(例如手机号码,邮箱等)

2、从一个字符串中找出符合规则的所有字符串(取HTML标签)


PHP中使用正则表达式一定要加正则表达式的表示 //

preg_match_all(正则表达式,匹配的字符串,匹配成功的东西放入数组)

preg_match_all:返回的匹配到的次数

preg_replace(正则表达式、替换成什么、匹配字符串)

preg_replace:返回替换后的结果


正则表达式语法

常用转义字符:
  数字:\d 
  非数字:\D
  空白字符(空格、制表符、换页符等):\s
  非空白字符:\S
  单词字符(26个英文字母+数字+下划线_):\w
  非单词字符:\W

自定义字符结合
字符集合:[单个字符或字符区间],用于匹配集合内字符
	如:
    [a-z]表示a-z这26个小写字母
    [0-9a-z]表示0-9这10个数字和a-z26个小写字母
    [135a-h]表示包含数字1,3,5和字母a-h这8个字母
    注意:两个不同字符段间请勿使用,隔开。
    非集:[^单个字符或字符区间],用于匹配非集合内字符。
       如:
    [^0-9]表示匹配所有非数字字符。
    [^a-zA-Z]表示匹配所以非字母字符。


()      => 代表这是一个整体

^       => 	匹配输入字符串的开始位置

$       => 匹配输入字符串的结尾位置

.        => 通配符[代表任意字符][不匹配换行]

*        => 匹配0次或者多次

+       => 匹配1次或者多次

\         => 转义字符

|          =>   两项之间的一个选择。

限定符:
  {n}     => 例如:  0{8}     意思是指 只有连起来8个0才会被匹配   
  {n,}    =>例如: 0{2,}    意思是 只要有2个0及其以上的就会被匹配
  {n,m}   =>  例如: 0{2,4} 意思是最少匹配2个0,最多匹配4个0
注:被匹配时,默认匹配最多的次数
<br>
修饰符:
  /i    => 不区分大小写
  /A    => 匹配规则必须从头开始匹配
  /s     => .将匹配一切字符
  /x     => 正则表达式中的空白字符会被忽略


实力应用:

<?php
$key='KEY{*********************}';
$IM=preg_match("/key.*key.{4,7}key:\/.\/(.*key)[a-z][[:punct:]]/i",trim($_GET["id"]),$match);
if($IM){
	die( 'key is:'.$key);
}
?>

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值