一聚教程网:一个值得你收藏的教程网站

热门教程

PHP 正则表达式使用说明

时间:2022-06-25 02:44:13 编辑:袖梨 来源:一聚教程网

可以用字符作为一个通配符来代替除换行符(n)之外的任一个字符。例如,正则表达式
.at
可以与"cat"、"sat"、"#at"和"mat"等进行匹配。主要是用于在搜索文件时

也可以指定一个字符集:
[a-z]at
在方括号([])中的内容都是一个字符类--- 一个被匹配字符所属的字符集合。但是只匹配其中的一个字符。

同时我们也可以给出一个集合。
[aeiou]
可以用来表示元音字母。

也可以用来表示一个范围。也可以是一个范围集:
[a-zA-Z]
这个范围集代表任何的大小字母。

此外,还可以用集合来指明字符不属于某个集。例如:
[^a-z]
可以用来匹配任何不在a和z之间的字符。当把脱胎换骨字符号(^)包括在方括号里面时,表示否。

重复次数
"*"表示这个模式可以被重复0次或更多次,符号"+"则表示这个模式可以被重复1次或更多次。

[[:alnum:]]+
表示至少有一个字母。

子表达式
(very)*large
可以匹配 very large 、 large 、very very large 等。

子表达式记数
可以用在花括号({})中的数字表达式来指定内容允许重复的次数。可以指定一个确切的数字({3}表示重复3次),或者一个重复次数的范围

({2,4}表示重复2~4次),或是一个开底的重复范围({2,}表示至少要重复2次).
例如:
(very){1,3}
表示匹配"very"、"very very"、"very very very"。

定位到字符串的开始或末尾
脱字符号(^)用于正则表达式的开始,表示子字符串必须出现在被搜索字符串的开始字符处,字符"$"用于正则表达式的末尾。表示子字符串必

须出现在字符串的末尾。

例,以下是在字符串开始处匹配bob:
^bob

这个模式将匹配com出现在字符串末尾处的字符串:
com$

最后,这个模式将匹配只包含a到z之间一个字符的字符串:
^[a-z]$

分支

可以使用正则表达式中的一条竖线来表示一个选择。例如,如果要匹配com、edu或net,就可以使用如下所示的表达示:
com|edu|net

匹配特殊字符

如果要匹配特殊字符,例如,.、{或者$,就必须在它们前面加一个反斜杠()。如果要匹配一个反斜杠,则必须用两个反斜杠()来表示.

在PHP中,必须将正则表达式模式包括在一个单引号字符串中.

在POSIX正则表达式中,用于方括号外面特殊字符的摘要

字符          意义                字符         意义
         转意字符                              )        子模式的结束
 ^        在字符串开始匹配                  *        重复0次或更多次
 $        在字符串末尾匹配                  +        重复1次或更多次
 .        匹配除换行符(n)之外的字符     {         最小/最大量记号的开始
 |        选择分支的开始(或)                 }        最小/最大量记号的结束
 (        子模式的开始                         ?        标记一个子模式为可选的

在POSIX正则表达式中,用于方括号里面的特殊字符

字符         意义
         转意字符
 ^        非,仅用在开始位置
 -        用于指明字符范围


常用的正则表达式
    1、非负整数:”^d+$”

    2、正整数:”^[0-9]*[1-9][0-9]*$”

    3、非正整数:”^((-d+)|(0+))$”

    4、负整数:”^-[0-9]*[1-9][0-9]*$”

    5、整数:”^-?d+$”

    6、非负浮点数:”^d+(.d+)?$”

    7、正浮点数:”^((0-9)+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*))$”

    8、非正浮点数:”^((-d+.d+)?)|(0+(.0+)?))$”

    9、负浮点数:”^(-((正浮点数正则式)))$”

    10、英文字符串:”^[A-Za-z]+$”

    11、英文大写串:”^[A-Z]+$”

    12、英文小写串:”^[a-z]+$”

    13、英文字符数字串:”^[A-Za-z0-9]+$”

    14、英数字加下划线串:”^w+$”

    15、E-mail地址:”^[w-]+(.[w-]+)*@[w-]+(.[w-]+)+$”

    16、URL:”^[a-zA-Z]+://(w+(-w+)*)(.(w+(-w+)*))*(?s*)?$”

热门栏目