资讯专栏INFORMATION COLUMN

php –正则表达式

Carson / 2982人阅读

摘要:在线正则检测工具链接正则表达式语法参考除换行符以外的所有字符转义字符另有等等字符串开头字符串结尾一个数字字符空格一个非数字非字符非空格或中的一个到中的一个字母除或的一个字符或者次或次匹配任意次数匹配一次或一次以上匹配次精确匹配

在线正则检测工具链接 正则表达式语法参考
    .                       除换行符以外的所有字符
    .                      转义字符(另有*, (, , 等等.)
    ^                       字符串开头
    $                       字符串结尾
    d,w,s                一个数字, 字符 [A-Za-z0-9_], 空格.
    D,W,S                一个非数字, 非字符 [A-Za-z0-9_], 非空格.
    [abc]                   a,b或c中的一个.
    [a-z]                   a到z中的一个字母.
    [^abc]                  除a,b或c的一个字符.
    aa|bb                   aa或者bb.
    ?                       0次或1次匹配.
    *                       任意次数匹配.
    +                       一次或一次以上匹配.
    {n}                     n次精确匹配.
    {n,}                    n次或n次以上匹配.
    {m,n}                   最少m次,最多n次匹配.
    ??,*?,+?,{n}?, etc.     同上,但尽可能少次数的匹配.
    (expr)                  捕获 expr 子模式,以 1使用它, 等等.
    (?:expr)                忽略捕获的子模式.
    (?=expr)                正向预查模式 expr.
    (?!expr)                负向预查模式 expr.

php正则函数介绍与区别 preg_match & preg_match_all
//执行一个正则表达式的匹配
preg_match(string $pattern , string $subject[,array $matches])
//执行一个全局正则表达式匹配
preg_match_all(string $pattern , string $subject[,array $matches])

preg_match() 返回 $pattern的匹配次数0或1次,因为匹配到第一个后就会停止搜索,而 preg_match_all() 将会一直搜索 $subject 到结尾

 4
)
Array
(
    [0] => Array
        (
            [0] => 4
            [1] => 3
            [2] => 9
            [3] => 2
            [4] => 4
        )
)

preg_fiflter & preg_replace
//只返回经过正则匹配的结果
preg_fiflter(mixed $pattern , mixed $replacement , mixed $subject)
//放回所有结果
preg_replace(mixed $pattern , mixed $replacement , mixed $subject)
$subject = array("1", "a", "2", "b", "3", "A", "B", "4");
$pattern = array("/d/", "/[a-z]/", "/[1a]/");
$replace = array("A:$0", "B:$0", "C:$0");

echo "preg_filter returns
";
print_r(preg_filter($pattern, $replace, $subject));

echo "preg_replace returns
";
print_r(preg_replace($pattern, $replace, $subject));
//结果:
    preg_filter returns
    Array
    (
        [0] => A:C:1
        [1] => B:C:a
        [2] => A:2
        [3] => B:b
        [4] => A:3
        [7] => A:4
    )
    preg_replace returns
    Array
    (
        [0] => A:C:1
        [1] => B:C:a
        [2] => A:2
        [3] => B:b
        [4] => A:3
        [5] => A
        [6] => B
        [7] => A:4
    )

其他正则函数介绍

preg_quote(string $pattern) — 转义正则表达式字符,有时候匹配字符中包含正则表达式语法,需要进行转义才能进行匹配
正则表达式特殊字符有: . + * ? [ ^ ] $ ( ) { } = ! < > | : -

preg_split(string $pattern , string $subject) — 通过一个正则表达式分隔字符串,类似于explode函数

preg_grep — 返回匹配模式的数组条目

$array = array("23.32","22","12.009","23.43.43");
         print_r(preg_grep("/^(d+)?.d+$/",$array));
    //结果:
    Array
    (
        [0] => 23.32
        [2] => 12.009
    )

preg_replace_callback — 执行一个正则表达式搜索并且使用一个回调进行替换


//结果
April fools day is 04/01/2003
Last christmas was 12/24/2002

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/25626.html

相关文章

  • PHP 正则达式入门 Getting Started with PHP Regular Expre

    摘要:兼容的正则表达式已经实现了很多使用不同解析引擎的正则函数。中主要有两个正则解析器一个称为,另一个称为兼容正则表达式。在中,每个正则表达式模式都是使用符合格式的字符串。 原文链接: Getting Started with PHP Regular Expressions Last-Modified: 2019年5月10日16:23:19译者注: 本文是面向0正则基础的phper, 很多...

    zhangke3016 评论0 收藏0
  • PHP 正则达式

    摘要:规范为的缩写,中文即兼容正则表达式,由开发的库,为很多现代工具所使用,大多数编程语言的正则表达式也都是集成该规范。接下来本文会对规范的正则表达式作出详细介绍。正则语法分隔符当使用函数的时候,模式需要由分隔符闭合包裹。 概述 正则表达式(Regular Expression)是一种字符匹配工具,通过构建具有特定规则的模式,和输入字符串数据进行比较,然后进行匹配、分割、替换等等的相关操作。...

    rozbo 评论0 收藏0
  • PHP/JS 常用的正则达式

    摘要:正则表达式的都是匹配和替换搜索正则表达式要匹配的字符串匹配到的字符串匹配到的个数,没有匹配到返回下面是例子执行一个正则表达式匹配,非贪婪执行一个全局正则表达式匹配,贪婪执行结果匹配所有仅由有一个单词组成的科目名输出结果替换正则表达式要匹 正则表达式的都是匹配和替换 PHP 搜索 preg_match* /** * int preg_match* ( string $pattern ,...

    mikyou 评论0 收藏0
  • PHP/JS 常用的正则达式

    摘要:正则表达式的都是匹配和替换搜索正则表达式要匹配的字符串匹配到的字符串匹配到的个数,没有匹配到返回下面是例子执行一个正则表达式匹配,非贪婪执行一个全局正则表达式匹配,贪婪执行结果匹配所有仅由有一个单词组成的科目名输出结果替换正则表达式要匹 正则表达式的都是匹配和替换 PHP 搜索 preg_match* /** * int preg_match* ( string $pattern ,...

    Simon 评论0 收藏0
  • php实战正则达式(二):提取html元素

    摘要:在阅读这篇文章前最好把同系列文章实战正则表达式一验证手机号先仔细阅读一遍。但实际上这样一个表达式是无法从上面的中提取第一个元素的这里主要的问题是在默认情况下点号字符无法匹配换行符。但是很遗憾,正则表达式中没有排除型子表达式或者说排除型分组。 这篇文章通过提取html元素介绍了正则表达式中模式修饰符、贪婪匹配与非贪婪匹配、Unicode模式、环视等知识点。在阅读这篇文章前最好把同系列文章...

    ityouknow 评论0 收藏0
  • PHP正则达式

    摘要:正则表达式是什么是一种字符串处理的工具搜索匹配搜索替换搜索分割功能强大是一种规则正则表达式应用范围数据验证数据处理过滤数据查询各语言都支持正则表达式相关函数正则表达式一个匹配返回匹配结果的次数执行一个全局正则表达式匹配返回匹配结果的次数 正则表达式是什么 是一种字符串处理的工具(搜索匹配、搜索替换、搜索分割) 功能强大,是一种规则 正则表达式应用范围 数据验证 数据处理/过滤 数...

    isaced 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<