php正则匹配

一、基础内容
在这里插入图片描述
1、通用原子
在这里插入图片描述
2、元字符

符号意义
.除了换行以外的所有字符
*匹配前面的内容出现 0 次及以上
?匹配前面的内容出现 0 次或 1 次
+出现一次或多次
$必须以它结尾
{n}恰巧出现 n 次
{n,}大于等于 n 次
{n,m}大于等于n,小于等于 m
[]是一个集合,匹配中括号中的任意一个字符,如:[abc]即为匹配a或b或者c
[^]取反
[-]代表一个范围,如[0-9],匹配即为 0123456789
()后项引用或者是当做一个整体
竖线或者

3、模式修正符

i不区分大小写。
m将字符串通过分隔符进行分割,将字符串中的每一行分别进行匹配。
e将匹配出来的内容做一些php语法上的处理。
s修正 “.” 的换行。
U取消贪婪模式。
x忽略模式中的空白符。
A必须以这个模式开头。
D修正 “$” 对 “\n” 的忽略。
u做 utf-8 中文匹配的时候使用。
g该表达式可以进行全局匹配。

4、示例

<?php
$str = "123a12312123";

// $pattern = '/\d/';   //0-9的一个

// $pattern = '/\D/';   //非0-9的一个

// $pattern = '/\w/';   //a-z,A-Z,0-9 _ 的一个

// $pattern = '/\W/';   //非a-z,A-Z,0-9 _ 的一个

// $pattern = '/\s/';   //回车,换行,空格,tab的一个

// $pattern = '/\S/';   //非回车,换行,空格,tab的一个

// $pattern = '/[a-z]/';    //a-z范围的一个

// $pattern = '/[^a-z]/';   // 非a-z范围的一个

$pattern = '/./';      //除了换行的所有字符的一个

preg_match($pattern, $str, $match);
var_dump($match);

?>

二、后项引用
在这里插入图片描述

如果想只去除掉b标签,只保留里面的字符串,这里就需要用到后项引用。怎么样后项引用呢,就是将 .* 括起来。
然后在匹配的时候,写上 \1 ,\1 代表第一个括号里面匹配到的内容,当然为了防止 \ 将 1 转义掉,所以我们使用 \1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值