您的位置:首页 > 编程语言 > PHP开发

自学php-POSIX扩展正则表达式函数

2015-11-10 17:12 621 查看
PHP中实现POSIX正则表达式的函数有7个:

主要的函数语法:

ereg()函数和eregi()函数:语法格式为:bool ereg/eregi(string pattern,string string[,array regs]);函数的功能:在字符串string中匹配表达式pattern,成功返回true,否则返回false;如果有regs参数,则将成功匹配的字串按子串(子表达式)划分,并存储到regs数组中;ereg区分大小写而eregi不区分;如:

<?php

$ereg='^[$][[:alpha:]_][[:alnum:]]*';   //要匹配的字串表达式

ereg($ereg,'$_name',$register);   //使用ereg()函数匹配

var_dump($register);   //显示匹配后的数组结构

?>

运行结果为:

array (size=1)
0 =>  '$_name' (length=6)


ereg_replace()函数和eregi_replace()函数;语法格式为:string ereg_replace/eregi_replace(string pattern,string replacement,string string);函数功能:在字符串string中匹配表达式pattern,如果匹配成功,则使用replacement来替换字串,并返回替换后的string,eregi_replace()不区分大小写;如:

<?php

$ereg = 'tm';   //要匹配的字串表达式

$str = 'hello,tm,Tm,tM';   //要查找的文本

$rep_str=eregi_replace($ereg,'TM',$str);    //替换查找的文本

echo $rep_str;   //输出替换后的文本

?>

运行结果为:hello,TM,TM,TM

split()函数和spliti()函数;语法格式为:array split/spliti(string pattern,string string[,int limit]);函数功能:使用表达式pattern来分割字符串string,参数limit可选,如果有那么数组最多有limit个元素,剩余部分都写到最后一个数组元素中,如果函数错误返回false;split()函数区分大小写,spliti()函数不区分大小写;例如:

<?php

$ereg = 'is';    //分割字符串的表达式

$str = 'This is a register book';   //要被分割的字符串

$arr_str = spliti($ereg,$str);  //使用spliti()函数分割

var_dump($arr_str);   //显示分割后的数组结构

?>

运行结果为:

array (size=4)
0 =>  'Th' (length=2)
1 =>  ' ' (length=1)
2 =>  ' a reg' (length=6)
3 =>  'ter book' (length=8)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: