PHP 板


LINE

看板 PHP  RSS
※ 引述《saininniang (sob)》之铭言: : 下例传回值为 $startDate = 6/19/1969 : <?php : $patterns = array("/(19|20\d{2})-(\d{1,2})-(\d{1,2})/", "/^\s*{(\w+)}\s*=/"); : $replace = array("\\3/\\4/\\1", "$\\1 ="); : print preg_replace($patterns, $replace, "{startDate} = 1969-6-19"); : ?> : 这是我在google搜preg_replace函数的使用方法 : 但我怎麽看$patterns和$replace也没办法推测出像答案一样的结果 : 我的问题应该是卡在许多符号看不懂其代表的意思 上头的范例有些问题,我将改过的地方以黄色显示: $patterns = array("/((19|20)\d{2})-(\d{1,2})-(\d{1,2})/", "/^\s*{(\w+)}\s*=/"); $replace = array("\\3/\\4/\\1", "$\\1="); print preg_replace($patterns, $replace, "{startDate} = 1969-6-19"); x x x / 和 / 所夹的部分代表要比对的 pattern ^ 代表从字串开头 \s 代表 [\r\n\t\f\v] 换行、跳行、空白字串.. (感谢 alpe 补正) * 代表 0 or 1 or any \w 代表 [a-zA-Z0-9_] + 代表 1 or any \d 代表 0-9 的数字 所以 " {startDate} =" 亦符合 /^\s*{(\w+)}\s*=/ ((19|20)\d{2}) 代表会搜寻 19 或 20 开头、并且其後接有两位数字的 pattern 像是: 1983、2006。 \d{2}代表数字需重复两次,换个角度来说,可看成要寻找两位数。 \d{1,2}则是至少出现一次、至多出现两次,如:1、31、99.. \\3/\\4/\\1 则表示将符合的模式的结果,取代为 第三个set/第四个set/第一个set \\1 表示符合 ((19|20)\d{2}) \\2 表示符合 (19|20) \\3 表示符合 (\d{1,2}) \\4 表示符合 (\d{1,2}) 就本例而言: 1969-6-19 变成 6/19/1969 by the way .. $pattern 与 $replace 为阵列时,是相对应的。 $pattern[0] 将以 $replace[0] 取代;$pattern[1] 将以 $replace[1] 取代 -- 「640K ought to be enough for anybody.!」 - Bill Gates - --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.119.199.121 刚修正了 \\2 .. 应该是 (19|20) 才对 ※ 编辑: foxzgerald 来自: 140.119.199.121 (12/15 20:52)
1F:推 alpe:\s = [\r\n\t\f\v] \w=[a-zA-Z0-9_] 12/15 20:50
※ 编辑: foxzgerald 来自: 140.119.199.121 (12/15 20:57)
2F:→ alpe:^ 有 开头 及 非 两种意义 \D = [^\d] \D = 非数字字元 12/15 20:55
3F:推 foxzgerald:恩. 如果 ^ 是放在一个 set 的开头时,如(^abc) 12/15 20:57
4F:→ foxzgerald:我把修正的内容加上去了,感谢 :) 12/15 20:58
5F:推 alpe:这东西落落长..还有3种表示法,php实作2种,没记/不知道是正常 12/15 21:00
6F:→ alpe:php6 以後好像只内间 preg 12/15 21:03
7F:推 superGA:preg表达能力比较强 12/15 22:23
8F:→ superGA:请问alpe第三种是什麽? 有资料可以看吗? 12/15 22:24







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:WOW站内搜寻

TOP