PHP正则表达式完整教程
第一篇文章将与您分享PHP正则表达式安全教程的基础。本文将继续扩展有关PHP正则表达式的知识。PHP正则表达式的各种运算符的操作优先级
从左到右执行相同的优先级,不同优先级的操作越高,然后越低:
操作说明
转义字符
()、(=)、(=)}、括号和括号
*,+,{,},{,},{,n,}限定符
^,美元,anymetacharacter位置和顺序
|或操作
PHP正则表达式的所有符号解释。
特征描述
下一个字符被标记为一个特殊字符,或一个文字字符,或一个向后引用,或八进制转义字符。
例如,'n'matches字符。'n'matches换行。序列与和(()。
^匹配输入字符串的开始位置。如果RegExp对象的Multiline属性设置,该^符合职位after'n'or'r。
$匹配匹配输入字符串的结束位置。如果RegExp对象的Multiline属性设置,也符合职位before'n'or'r美元。
*匹配前面的子表达式为零或更多。例如,ZO *可以匹配Z和动物园。相当于{ 0 }。
+匹配前面的子表达式一次或多次。例如,'zo +匹配Zo和动物园+相当于{ 1 }。
匹配前面的子表达式零次或一次。例如,做(ES)可以匹配做做或,它相当于{0,1}。
{ } n是一个非负整数。匹配确定的n次。例如,‘{ 2 } '不匹配the'o鲍勃
{ } n,n是一个非负整数。匹配至少n倍。例如,‘{ 2 } 'cannot匹配鲍勃in'o ',但可以在foooood匹配所有O,O { 1 }是等效to'o +'。‘{ 0 }是等效to'o *。
{ } n,m m和n为非负整数,n = m n次<<比赛至少符合M次最多。例如,{ } O 3将在fooooood比赛第一三O,O {0,1}是等效to'o。请注意,有逗号和两个数字之间没有空格。
当角色是由任何其他限制(*,+,{ },{ },{ N,N,M }),模式匹配是不贪,非贪婪模式匹配搜索字符串尽可能小,而默认的贪婪模式匹配搜索字符串尽可能。例如,字符串哦
匹配其他比n的任何单个字符,匹配任意字符including'n ',使用模式,像{ }。
(模式)匹配模式并获得了这场比赛。得到的匹配可以从生成的比赛得到的,利用设置在VBscript submatches,用0美元在Jscript。9美元的财产。匹配的括号字符,使用(或)。
(:模式)匹配模式但没有得到匹配的结果,那就是,它是一个非获取匹配和不存储存储供以后使用。在使用或字符(|)各部分相结合的模式是非常有用的。例如,'industr(:Y | IES)是一个简洁的表达than'industry |产业。
(=模式)向前查找,在匹配模式的任何字符串的开始查找字符串匹配。这是一个非获取匹配,即匹配不需要用于将来使用。例如,'windows(= 95 | 98 | NT | 2000)可以匹配Windows,在Windows 2000预检查不消费特征,也就是说,发生的一场比赛后,下一场比赛是最后一场比赛后立即开始,而不是从预先检查特征。
(!模式)是负预检和查找字符串在字符串不匹配的模式开始比赛。这是一个非获取匹配,即匹配不需要用于将来使用。例如,'windows(!95 | 98 | NT | 2000)可以匹配窗口Windows 3.1预检查不消费特征,也就是说,发生的一场比赛后,下一场比赛是最后一场比赛后立即开始,而不是从预先检查特征。
X | Y与X或Y。例如,Z | food'can匹配Z或食物,(Z | F)设计比赛zood 或食物。
{某}字符集。匹配任何人物的控制。例如,{ }匹配在ABC重点平原。
{ ^ XYZ }负字符集。匹配任意字符,不包括在内。例如,{ }比赛the'p ^ ABC在平原。
{ }字符a-z范围。匹配指定范围内的任何字符。例如,{ }匹配任何小写字母A-Z字符范围在A to'z。
{ }负^ A-Z字符范围。匹配任意字符,不在规定的范围内。例如,{ ^ A-Z }匹配任何字符,不在范围A to'z。
B是一个词,那就是边界,词与词之间的空间位置。例如,'erb'can比赛the'er永远
b匹配非单词边界。'erb'can比赛the'er动词
CX比赛指定的X.例如控制字符,匹配一个control-m厘米或回车。x的值必须是一个字母或a-z.otherwise,C是一个original'c'character。
D匹配一个数字字符,它相当于{ 0-9 }。
D匹配一个非数字字符,它相当于^ 0-9 } {。
F、一进纸。它相当于x0c和CL。
n匹配一个换行符。它相当于x0a和CJ。
r匹配一个回车符,它相当于x0d厘米。
S匹配任何空白字符,包括空格、制表符、换页符等。它相当于fnrtv } { }。
S匹配任何非空白字符,相当于^ fnrtv } {。
不匹配的标签。它相当于x09和CI。
v匹配一个垂直制表符,它相当于x0b和CK。
W匹配任何字符,包括下划线。它相当于{ }a-za-z0-9_。
W匹配任何非单词字符。它相当于{ }^ a-za-z0-9_。
XN和N,其中N是116进制转义码。十六位小数的值必须是一个确定的两个数。例如,'x41'matches 。'x041'is等效to'x041 。ASCII编码可以在正则表达式中使用..
数字与数字匹配,其中数字为正整数。对所得到的匹配的引用。例如,(。)1匹配两个连续的相同字符。
n识别价值八进制或反向参考。如果至少n的子表达式之前得到N,N是一个落后的参考。否则,如果n是八进制数(0-7),那么n是一个八进制转义码。
nm的标识值八进制或落后的参考。如果至少nm具有至少一个表达式之前nm,纳米是一种落后的参考。如果至少N已获得在nm,N是一个落后的参考跟文本M.如果前面的条件不满意,如果N和M在八进制数(0-7),然后将八进制转义值nm nm。
NML如果n是八进制数(0-3),和M和L是八进制数(0-7),八进制转义值和匹配。
联合国与n,其中n是一个Unicode字符,是由416位数字表示。例如,u00a9火柴版权符号()。
以上是对PHP正则表达式的完整教程的介绍。希望你能喜欢。