正则表达式问题
什么都没看懂?应该讲的再细点,再简单点,多写几个例子。
什么都没看懂?应该讲的再细点,再简单点,多写几个例子。
2015-02-01
正则表达式 .hi 中的‘.’ 可以被除换行符之外的任何一个字符代替,所以 .hi可以和”zhi” “ahi” 等进行匹配。
用字符集对可能的匹配进行限定,可以得到多种结果。 [“填具体字符或者字符范围亦或者是^+匹配字符的补集”]。 例如[zhibudao]kk 有8种匹配的选择,[a-d]kk 4种。‘*’ ‘+’ 两种重复约束,(模式重复0到n次)* .zhibudao (模式重复1到n次)+.zhibudao 例:(zhi)*.budao可以匹配“zhibudao”或者“budao”或者”zhizhizhizhibudao”. 括号内是子表达式。
(zhibudao){x,y} 其中x>=0 y>=0
^[a-d]$ 只匹配a到d中的一个 ^ 开始 $ 结束
特殊字符 \转义字符 ^在字符串开始匹配 $在字符串末尾匹配 .匹配除换行符之外的字符 |选择分支的开始 (子模式的开始 )子模式的结束 *重复0-n次 +重复1-n {最小/最大记号的开始 }最小/最大记号的结束 ?标记一个子模式为可选 [\转义] [^非] [-确定范围]
应用 int ereg(string pattern, string sarch, array);eregi()不区分大小写
ereg_replace()要注意的一点是如果在 replacement 参数中使用了整数值,则可能得不到所期望的结果。这是因为 ereg_replace() 将把数字作为字符的序列值来解释并应用之 $replace=1;
$string=’read one’;
$zbd=ereg_replace(‘one’,$replace,$string);
echo “$zbd”;结果为read
$replace=’1′;
$string=’read one’;
$zbd=ereg_replace(‘one’,$replace,$string);
echo “$zbd”;结果为read1
$address=”admin@zhibudao.net”;
$array=split(“[.@]”,$address);
while(list($key,$value)=each($array)){
echo”$value”.”<br/>”;
} 结果:admin
zhibudao
net
举报