• PHP正则表达式教程


    1、入门简介 
     
    在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描述这些规则的工具。换句话说,正则表达式就是记录文本规则的代码。 

    很可能你使用过Windows/Dos下用于文件查找的通配符(wildcard),也就是*和?。如果你想查找某个目录下的所有的Word文档的话,你会搜索*.doc。在这里,*会被解释成任意的字符串。和通配符类似,正则表达式也是用来进行文本匹配的工具,只不过比起通配符,它能更精确地描述你的需求——当然,代价就是更复杂——比如你可以编写一个正则表达式,用来查找所有以0开头,后面跟着2-3个数字,然后是一个连字号“-”,最后是7或8位数字的字符串(像010-12345678或0376-7654321)。

    2、 基本语法 
     
    正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个字符串串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合某个条件的子串等。格式如下:

    /正则表达式/[模式修正符]  


    正则表达式包含: 
    1、 普通字符:包含a-z、A-Z、0-9

    2、 元字符:包含特殊符号、转义字符、限定符、定位符 

    3、 模式修正符:用固定的字符,表示特定含义,是正则补充说明的

    1.普通字符和2.元字符之后再介绍

    3. 模式修正符有哪些.

    Perl风格的正则表达式允许把单个字符选项(标志)放在正则表达式模式后面来修改匹配的解释或行为。例如,要进行不区分大小写的匹配,可以简单地使用i标志:
    preg_match('/cat/i', 'Stop, Catherine!');        // returns true返回true

    Perl标志 修饰符 意 义
    /regexp/i 不区分大小写的匹配
    /regexp/s 使句点(.)匹配任何字符,包括换行符( )
    /regexp/x 从模式中删除空白符和注释
    /regexp/m 使^匹配换行符 ( )之后的内容,美元符号($)匹配换行符 ( )之前的内容
    /regexp/e 如果替换字符串是PHP代码,使用eval()执行该代码来得到实际的替换字符串。
     
    PHP的Perl兼容正则表达式函数也支持在Perl中不支持的其他修饰符:
    其他的PHP标志 修饰符 意 义
    /regexp/U 颠倒子模式的贪婪性;*和+尽可能少地匹配而不是尽可能多。
    /regexp/u 把模式字符串当作UTF-8编码对待
    /regexp/X 如果一个反斜杠之后跟着没有特殊意义的字符,将产生一个错误
    /regexp/A 把锚定位在字符串的开头就像模式中有^一样
    /regexp/D 使$字符仅匹配一行的末尾
    /regexp/S 使表达式解析器更加小心地检查模式的结构,使得第二次运行时(如在一个循环中)加快速度

    参考:

    https://wenku.baidu.com/view/152e98373968011ca3009120.html

    https://wenku.baidu.com/view/adcaf2a802768e9950e738a7.html

    http://www.php.cn/regexp/regexp-tutorial.html

  • 相关阅读:
    字符编码及文件处理
    列表、元祖、字典及集合的内置方法
    数字类型、字符串及列表的内置方法
    流程控制(if while for)
    一些基本概念及数据类型
    编程语言的发展及变量
    python 入门基本知识
    叁拾贰(转)
    叁拾壹
    叁拾
  • 原文地址:https://www.cnblogs.com/fps2tao/p/9051113.html
Copyright © 2020-2023  润新知