首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • [正则] 如何用正则表达式匹配<sys:date />? “解决马上结贴”! [已结贴,结贴人:zysoft17]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-01 08:48:02 楼主
    如何用正则表达式匹配
    <sys:date />

    <my:file1 />
    />前可能有空格,也可能没有空格

    “解决马上结贴”!谢谢各位!
    50  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-01 08:48:051楼 得分:0
    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【zysoft17】截止到2008-07-01 08:48:04的历史汇总数据(不包括此帖):
    发帖数:8                  发帖分:410               
    结贴数:8                  结贴分:410               
    未结数:0                  未结分:0                 
    结贴率:100.00%            结分率:100.00%           
    敬礼!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-01 08:50:142楼 得分:0
    还有我自己写的正则是:
    preg_match_all("/ <(? <keyword>[_a-zA-Z0-9]+)\s*:\s*(? <expression>[^\/ <>\s]+)\/>\s*/isU", $_str, $tag, PREG_SET_ORDER);

    但不能识别/>前是否存在空格,如果没有空格还可以,有空格就匹配不了了。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-01 08:57:313楼 得分:20
    <[^>:]*?:[^>:]*?/>
    试试

    PHP code
    preg_match_all("/<[^>:]*?:[^>:]*?/>/isU", $_str, $tag, PREG_SET_ORDER);

    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • dada20042030
    • 等级:
    发表于:2008-07-01 09:06:414楼 得分:5
    PHP code
    $str='<my:file1 />'; preg_match_all('/[^>]*>/',$str,$array); print_r($array); Array ( [0] => Array ( [0] => <my:file1 /> ) )
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-01 09:14:135楼 得分:0
    <[^>:]*?:[^>:]*?/>
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-01 09:21:056楼 得分:0
    兄弟们,我想要的是
    <keyword> 和 <expression> 的取值!
    比如:
    <my: file1 />
    <sys: date />
    能取出
    $tag[0][0] = my
    $tag[0][1] = file1
    $tag[1][0] = sys
    $tag[1][1] = date   
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-01 09:27:017楼 得分:0
    <([^>:]*?):([^>:]*?) *?/>
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wangbo_wb
    • 等级:
    发表于:2008-07-01 09:27:288楼 得分:5
    PHP code
    $str='<sys:date />dfsdf<my:file1 />k;k;<my:file1 />werewr<my:file1/>'; echo preg_replace('/<sys:date\s*\/>|<my:file1\s*\/>/','',$str);
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-01 11:07:129楼 得分:20
    $str=' <sys:date />dfsdf <my:file1 />';
    preg_match_all ("/ <(\w+):(\w+)\s*\/>/",$str,$str2);
    print_r($str[1]);
    print_r($str[2]);
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-01 11:35:0110楼 得分:0
    搞定,结贴总结:

    PHP code
    $str=' <sys:date />dfsdf<my:dadfad/>dfadfjasdj <my:file1 />kjf kadflaj<img:img/img1.gif />'; preg_match_all("/<(?<keyword>[^>:]+):(?<expression>[^>:]+)\s*\/>/",$str,$tag , PREG_SET_ORDER );
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-01 11:36:2411楼 得分:0
    谢谢 fxs_2008  和 wj2002160416 ,当然还有其他朋友!
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved