php的preg_replace正则表达式

比如<任意个字符XXXX任意个字符>,判断是否存在XXXX字符串,如果是,则替换前后的尖括号,最后变成[任意个字符XXXX任意个字符]输出。对于其他字符串的尖括号不修改。... 比如<任意个字符XXXX任意个字符>,判断是否存在XXXX字符串,如果是,则替换前后的尖括号,最后变成[任意个字符XXXX任意个字符]输出。
对于其他字符串的尖括号不修改。比如还存在<任意个字符ZZZZ任意个字符>,因为不包含XXXX,则不修改它。
展开
 我来答
百度网友51b1b47
2012-06-29 · TA获得超过321个赞
知道小有建树答主
回答量:215
采纳率:50%
帮助的人:103万
展开全部
<2133af3344>
[2133af3344]
假设这个字符就是a
那么代码
<?php
$str= '<2133af3344>';
$preg= '/a/';
if(preg_match($preg,$str)){
$str1= preg_replace('/>/',']',$str);
echo preg_replace('/</','[',$str1);
}

?>
更多追问追答
追问
preg_replace('//s','[$1]',$str);
那个问号是干嘛用的,据说是防止贪婪匹配。是不是说加了问号以后最多只匹配一次啊?
追答
* 匹配前面的子表达式零次或多次。 
+匹配前面的子表达式一次或多次。+ 等价于 {1,}。
? 匹配前面的子表达式零次或一次。? 等价于 {0,1}。
问号是匹配的个数0次或一次

加上?就0次或1次就不是贪婪了
贪婪的意思就是找到符合就匹配
非常贪婪哈 去掉?就是贪婪了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式