电脑安全

您当前的位置:主页 > 电脑安全 >

正则表达式三-网络编程

来源:[db:来源]标题:   字符    编辑:电脑技术全能网 时间:2019-09-21 18:25

原标题:正则表达式三-网络编程
   一.正则表白式1.婚配符 1)头婚配符"^":如^0754,只婚配扫尾为0754的字符串 2)尾婚配符"$":如0754$,只婚配开头为0754的字符串 3)全字婚配:将^和$联合,如^0754$,婚配0754字符串2.本义字符 1)空字符: 换行/n 回车/r 制表符/t 2)其余字符: "$" /$ "^" /^ "+" /+ "/" //3.通配符 1)*号:用来婚配后面一个字符能否在字符串中呈现零次或屡次. 例1:'abc*',婚配含有ab的全部字符串。 2)+号:......................................一次或屡次. 例2:'abc+',婚配含有abc的全部字符串。 3)?号:......................................零次或一次. 例3:只婚配含有ab、abc开头不再含c的字符串。如abca,aabc,aaab都能够,但abcc就不可。4.对于本义字符/$与双、单引号(php4情况) 1)正则表白式自身就是一个字符串。 2)当引号中含有$时,用双、单引号界说就有差别,差别以下: (1)应用单引号界说时,说明器会把引号内全部字符(包含$在内)都原封不动的赋值给字符串变量。 (2)应用双引号界说时,说明器会把引号内"$"字符以及厥后的正当字符(字母、数字、下划线)翻译成变量,直到碰到一个合法字符才以为变量名停止,该合法字符及厥后面的字符都被视为个别字符赋给字符串变量,直到碰到下一个"$"为止。 (3)留神:单个$呈现在双引号的尾部,而且厥后面不再有任何字符的时间,说明器不会将其翻译成变量。也不须要加本义/,固然不倡导。 (4)假如待婚配的字符中自身就有$,就无奈用双引号来界说这个正则表白式,起因是本义字符/$在单,双引号中表现的意思差别: <1>双引号中,/$和单个的$意思是一样的,都是代表尾婚配符,因而c/$$=c/$=c/$/$=c$=c/$/$;双引号中,/$在任何时辰都只代表一个字符"$",echo "c/$$"成果是c$$,而且/$和单个的$(单个的$是指该$无奈和厥后字符构成变量名)是完整等效的,都是尾婚配符,以是双引号中是无奈写入作为非尾婚配字符的字符"$"的,也恰是这个起因,大少数须要婚配$时界说正则表白式只能用''。 <2>单引号中,/$的意思仅仅表现字符"$",尾婚配符是$,不论前面能否有正当变量名字符;单引号中,/$实在是两个字符,如不必于正则婚配将没有任何意思,echo 'c/$$'成果还是c/$$。单作为正则表白式来应用,单引号中的/$表现的是特别字符"$",而尾婚配符就是独自的$字符。 3)正则表白式的尾婚配符"$"和变量的界说符是雷同的: 例1:界说正则表白式为^ab$:$pattern="^ab/$";本义字符/$在双引号中就表现字符$,成果是^ab$。 例2:如上题,应用$pattern="^ab$";明显是过错的,然而因为$在尾部,前面没有其余字符,以是依旧实用。 例3:以字符组合c$开头的正则表白式:$pattern='c/$$'; 例4:如上题,$pattern="c/$$";正则表白式将/$视为尾婚配符,故只婚配以c开头

上一篇:常用正则表达式-网络编程

下一篇:没有了