PHP正则

作者: killtl | 来源:发表于2018-03-21 11:01 被阅读0次

组成

PHP中一个正则表达式分三个部分:分隔符,表达式,修饰符

原子字符

. 匹配除换行符以外的任意字符
\w 匹配一个字母或数字或下划线
\s 匹配一个空白符
\d 匹配一个数字
\b 匹配单词的开始或结束的位置(匹配一个位置)
^ 匹配字符串的开始
$ 匹配字符串的结束
- 表示范围
[] 匹配括号中的任意一个字符

量词

* 重复0次或更多次
+ 重复1次或更多次
? 重复0次或1次
{n} 重复n次
{n,} 重复n次或更多次
{n,m} 重复n到m次

反义

\W \w取反
\S \s取反
\D \d取反
\B \b取反
[^x] 匹配除了x以为的任意一个字符
[^abcde] 匹配除了abcde以为的任意一个字符

分支

| 表示分支,在[]中无效,匹配分支条件时,从左往右匹配,当匹配到某个分支时结束,不会再考虑后面的分支

分组

  • 捕获
    (exp) 匹配exp,并捕获文本到自动命名的组里
    (?<name>exp) 匹配exp,并捕获文本到名为name的组里
    (?:exp) 匹配exp,不捕获匹配的文本,也不给此分组分配组号

  • 零宽断言
    (?=exp) 匹配exp前面的位置
    (?<=exp) 匹配exp后面的位置
    (?!exp) 匹配后面跟的不是exp的位置
    (?<!exp) 匹配前面不是exp的位置

  • 注释
    (?#comment) 提供注释辅助阅读,不对正则产生任何影响

反向引用

\1 引用第一个分组子匹配
\n 引用第n个分组子匹配
\k<name> 引用命名为name的分组子匹配

懒惰模式

*? 任意次
+? 一次或多次
?? 0次或1次
{m,n}? m-n之间
{m,}? 至少m

常用正则

/^\d+$/ 非负整数
/^[1-9]+[0-9]*$/ 正整数
/^-\d+$|0/ 非正整数
/^-[1-9]+[0-9]*$/ 负整数
/^[\w-.]+@[\w-.]+(\.[\w-]+)+$/ email地址
<(.*)>.*<\/\1>|<.* \/> html标签
<[img|IMG].*?src=[\'|\"](.*?(?:\.gif|\.jpg))[\'|\"].*?[\/]?> 提取img标签的src值

相关文章

  • PHP常用正则表达式汇总

    PHP常用正则表达式汇总 正则表达式在 PHP 中的应用在 PHP 应用中,正则表达式主要用于: 正则匹配:根据正...

  • 一. PHP入门篇和PHP进阶篇

    PHP基础语法 PHP数组 PHP函数 PHP之类和对象 PHP字符串 PHP之正则表达式 PHP之cookie ...

  • 9.2.11 编写email正则表达式

    9.2.11 编写email正则表达式 test.php ``

  • 9.3.8 字符串中正则的其它函数

    9.3.8 字符串中正则的其它函数 test.php demo.php

  • PHP常用正则表达式汇总

    原文:PHP常用正则表达式汇总

  • 正则表达式基础篇

    正则表达式就是用某种模式去匹配一类字符串的一种公式。 PHP中的正则表达式 PHP中有两套正则函数preg和ere...

  • PHP正则

    组成 PHP中一个正则表达式分三个部分:分隔符,表达式,修饰符 原子字符 . 匹配除换行符以外的任意字符\w 匹配...

  • PHP正则

    正则表达式基础 1.完整的正则表达式由两种字符组成。特殊字符(元字符)和普通字符(文本) 常见的元字符 . 匹...

  • PHP正则

  • PHP如何判断空

    PHP类型比较 PHP自动类型转换(弱语言) PHP去除空格 1、去除两边的空格trim($arr) 2、正则匹配...

网友评论

      本文标题:PHP正则

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