已有40人关注
关于正则表达式及其相关问题
发表在PHP图书答疑 2014-12-03
是否精华
版块置顶:
1、P108例6.8的下列代码是否有误:
echo preg_replace_callback('/\[color=(.*)\](.*)\[\/color\]/U',"c_back",$string);,我查看光盘源码,U应为i;
2、P111页例6.9之“check.js”中,关于邮箱地址的正则表达式看不明白:
var Expression=/\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/;
主要是其中三方括号部分:[-+.']、[-.]、[-.]
3、既然PHP本身已有那么多的系统函数,用户还可以自定义函数,但为什么一用到函数就必定是JS脚本?这是否意味学了PHP还必须学习JS?
另外,关于正则表达式这一章,感觉举例太简略,对初学者而言,简直就是看无字天书般,希望能推荐些补充文字。
分享到:
精彩评论 2
轻鸿_mrkj
学分:0 LV1
TA的每日心情
加油
2020-12-25 20:06:49
2014-12-04
沙发
读者您好:
(1)正确的确实应将U改为i。
(2)\w+ :\w表示单词字符,包括所有的字母,所有的数字,左右的下划线  +表示这个单词字符出现一次或多次,但最少出现一次
([-+.']\w+)*:[]里面的东西表示组合类,只能是这四个字符其中的一个  \w+上面说过   两个括号表示分组,就是把括号里面的看做一个整体 *的意思是说括号里面的内容出现零次或者多次
([-.]\w+)*:[]里面的只能有一个  .表示除了换行和回车的任意字符。

(3)这里验证表单数据时应用了JavaScript事件,当鼠标在本文框上失去焦点时才会触发函数。因此需要使用JavaScript来实现。
昌叔_mrkj
学分:14 LV2
TA的每日心情
奋斗
2020-03-29 16:21:53
2014-12-05
板凳
轻鸿老师:
您好,打扰甚多了,但因为学生天生愚钝,有些问题仍然不明白:
既然[-+.']和[-.]表示方括号中的字符只能出现一个,则下面的字符串不能匹配邮箱:-+.com@126.c+m,但我这样输入,照样通得过,实在不明白!如果我这样输入:-+'com@126.c+m,输出时程序会自动增加个转义字符,变成:-+\'com@126.c+m!
既然“.”号代表除换行符号的所有字符,自然也包含了“-”、“+”和“'”,方括号里单用一个“.”不就得了吗?
首页上一页 1 下一页尾页 2 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照