正则表达式

在线调试工具

https://regex101.com/

https://c.runoob.com/front-end/854

作用

分割、查找、匹配、替换字符串

-----------基本语法-----------

界定符

/ /

原子

正则表达式最小匹配单位
可见原子:Unicode编码表中用键盘输出后肉眼可见的字符
                - 标点 ;  " _ ? . 等等
                - 英文字母数字 a-z,A-Z,0-9
                - 汉字、日文、阿拉伯文等其他语言文字
                - 数理化公式符号 ∈ ∑
                - 其他可见字符
不可见原子:Unicode编码表中用键盘输出后肉眼不可见的字符
                - 换行符 \n
                - 回车 \r
                - 制表符 \t
                - 空格
                - 其他不可见符号

元字符之筛选原子方式

                - |    匹配两个或者多个分支选择

                - []    匹配方括号中的任意一个原子

                - [^]    匹配除方括号中的原子之外的任意字符

元字符之原子的集合

                - .    匹配除换行符之外的任意字符

                - \d    匹配任意一个十进制数字,即[0-9]

                - \D    匹配任意一个非十进制数字,即[^0-9]

                - \s    匹配一个不可见原子,即[\f\n\r\t\v]

                - \S    匹配一个可见原子,即[^\f\n\r\t\v]

                - \w    匹配任意一个数字、字母或下划线,即[0-9a-zA-Z_]

                - \W    匹配任意一个非数字、字母或下划线,即[^0-9a-zA-Z_]

量词

{n}    表示其前面的原子恰好出现n次

{n,}    表示其前面的原子最少出现n次

{n,m}    表示其前面的原子最少出现n次,最多出现m次

*    匹配其之前的原子0次、1次或者多次,即{0,}

+    匹配其之前的原子1次或者多次,即{1,}

?    匹配其之前的原子0次或者1次,即{0,1}

边界控制

^    匹配字符串开始的位置

$    匹配字符串结束的位置

模式单元

( )    匹配其中的整体为一个原子

贪婪匹配

匹配结果存在歧义时取最长

懒惰匹配

匹配模式存在歧义时取最短

常见修正模式

U    懒惰匹配

i    忽略英文字母大小写

x    忽略空白

s    让元字符'.'匹配包括换行符在内的所有字符

中文匹配

UTF-8汉字编码范围是0x4e00-0x9fa5,在ANSI(gb2312)环境下,0xb0-0xf7,0xa1-0xfe

UTF-8要使用u模式修正符使模式字符串被当成UTF-8,在ANSI环境下,要使用chr将Ascii码转换为字符

e.g:/^[\u4e00-\u9fa5]{0,}$/        /[\x{4e00}-\x{9fa5}]/u        


你可能感兴趣的:(正则表达式,php)