zl程序教程

您现在的位置是:首页 >  后端

当前栏目

4.PHP正则表达式与数组

2023-09-11 14:14:00 时间

PHP正则表达式相关

 


行定位符 开头 ^tm 结尾 tm$ 不限制 tm

单词定界符 \btm\b   单词tm,如果想取反的话就是大写的 \Btm\B

或的关系,[Tt][Mm] 可以表达 tm Tm TM tM

POSIX风格预定义字符类



选择字符(|)  T|tM|m 意思是可以T或者t开头。后面跟着一个字母M或者m

使用[]和使用|的区别在于[]只能匹配单个字符,而|可以匹配多个字符 TM|tm|Tm|tM.

范围 [a-zA-Z]等价于[abc..zABC..Z]

排除字符[^]  不是以字符开头的 [^a-zA-Z]

限定符号

 

符号(.),.可以匹配除了换行意外的任何一个字符

^s.t$   可以表示 sat sbt sct..如果想是第一个字符是r,第三个字符是s,最后一个字符是t则可以 ^r.s.*t$

反斜线相关(\


括号 (thri|fourth

反向引用(it)\1  是表示两个it

模式修饰符


POSIX扩展正则表达式函数

1.

bool ereg/eregi(string pattern ,string string[array regs])

String中匹配string存在regs里(*i不区分大小写)

2.

string ereg/eregi_replace(string s1 .string s2 ,string s3)

S3中匹配S1,匹配成功就用s2来替换。

3.

Array split/spliti(string s1 ,string s2 ,[int limit]);

使用s1分割s2,最大次数限制limit

 

PCRE兼容正则表达式函数

1.

Array preg_grep(string s1 ,array s2)

使用s2中的元素意义匹配表达式s1,最后返回匹配成功组成的数组

2.

Int preg_match/preg_match_all(string s1 ,string s2,[array s3])

s1去匹配s2,函数返回匹配次数,如果有数组s3那么每次匹配的结果豆浆存储到s3中。没有all的匹配一个,有all的匹配所有。

3.

String preg_quote(string s1 ,[string s2])

该函数将s1中所有特别字符进行自动转意。如果有s2的话也转意。


4.

Mixed preg_replace(mixed s1 ,mixed s2 ,mixed ,s3 ,[int limit])

字符换替换。


5.

Mixed preg_replace_callback(mixed s1 ,callback callback ,mixed s2 ,[int limit])

该函数与preg_replace()函数功能一样。都用于查找和替换字符串。不同的是该函数使用一个回调函数来替换replacement参数。

 

6.

Array preg_split(string s1 ,strin s2 ,[int limit])

分割字符串


PHP数组

声明  

<?php
    $array array("asp","php" ,"jsp");
    print_r($array);
?>

Array ( [0] => asp [1] => php [2] => jsp )

关联数组

<?php
    $array array("f"=>1,"s"=>,"t"=>3);
    print_r($array);
?>

Array ( [f] => 1 [s] => 2 [t] => 3 )

数组输出函数print_r(array);

二维数组

<?php
    $array array("1"=>array(1.1,1.2,1.3),"2"=>array(2.1,2.2,2.3,2.4));
    print_r($array);
?>

Array([1]=>Array([0]=>1.1 [1]=>1.2[2]=>1.3)[2]=>Array([0]=>2.1[1]=>2.2[2]=>2.3[3]=>2.4))

 

数组遍历foreach($array as $i){echo $i} 或者list函数。

 

字符串与数组的转换 explode()函数。

<?php
    $str1 "1.2.3.4.5";
    $str2 = explode("." ,$str1);
    print_r ($str2);
?>

Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 )

String implode(string s1 ,array s2)把数组合成一个字符串,中间用s1连接。

Int count(mixed array ,[int mode])统计元素个数

Mixed array_search(mixed needle ,array array ,[bool strict])


Array_pop()取出最后一个元素。

array_push()增加一个元素

Array_unique()去重