最新评论
Re:正则表达式30分钟入门教程 红枫一叶 2012-01-31 15:13
那个网址打不开了
Re:正则表达式30分钟入门教程 deerchao 2012-01-31 14:59
@红枫一叶
如果你说的是这个: http://deerchao.net/tutorials/regex/common.htm ,里边确实是没有包含这个表达式的.
Re:正则表达式30分钟入门教程 红枫一叶 2012-01-31 14:54
是在你提供的那个“Regex Tester”里面的常用规则->常用正则表达式里面有的。
Re:正则表达式30分钟入门教程 deerchao 2012-01-31 14:26
@红枫一叶
好像我的教程和网站中均没有提到这个正则表达式,请确认.
Re:正则表达式30分钟入门教程 红枫一叶 2012-01-31 10:40
博主,我发现那个日期的正则有bug,日期和时间的验证还是有问题的。比如那个“日期(严格匹配合法日期YYYY-MM-DD)”的正则——“^((((19|20)(([02468][048])|([13579][26]))-02-29))|((20[0-9][0-9])|(19[0-9][0-9]))-((((0[1-9])|(1[0-2]))-((0[1-9])|(1\d)|(2[0-8])))|((((0[13578])|(1[02]))-31)|(((01,3-9])|(1[0-2]))-(29|30)))))$”,就验证不通过“2012-01-30”这个日期,事实上是“YYYY-01-29”/“YYYY-01-30”的日期都验证不通过。还有那个“时间(含日期)”的那个正则——“^(19|20)\d{2}[/\s\-\.]*(0[1-9]|1[0-2]|[1-9])[/\s\-\.]*(0[1-9]|3[01]|[12][0-9]|[1-9])[\s] *(2[0-3]|[01]?\d)(:[0-5]\d){0,2}$”验证“YYYY-02-29/30/31”的日期时通过。望博主能够修正一下。
Re:正则表达式30分钟入门教程 deerchao 2012-01-16 11:36
[quote]congxz6688:
有一个小建议:
在火狐中JS其实是不支持后向断言的,所以后向引用就变得尤为重要了。
象这样的字符串:
1.我的0.5年农村岁月.
我想把前后都不是数字的"."转换成"。"
用replace(/(\D)\.(?!\d)/g,"$1。")就可以了,但使用$1,$2...从外部调用的法子,我可是花了相当长的时间才从网上找到的,是不是能在教材里简单说说?
[/quote]
这是个很好的建议, 下次更新时我会添上.
[quote]congxz6688:
另外我至今不知道这个"$+数字"的应用范围究竟有多大,算全局变量还是局部?或者只是本行有效?
[/quote]
它的作用范围是单个匹配(整个正则表达式匹配的文本).如果一个正则表达式匹配了多次, 替换时每段匹配文本中的$1,$2等都与其它匹配文本中所指不同.
Re:正则表达式30分钟入门教程 congxz6688 2012-01-14 13:18
您好!
我其实是特意注册帐号来这里表达感谢的。
是您的教材教会我正则表达式的,谢谢。
有一个小建议:
在火狐中JS其实是不支持后向断言的,所以后向引用就变得尤为重要了。
象这样的字符串:
1.我的0.5年农村岁月.
我想把前后都不是数字的"."转换成"。"
用replace(/(\D)\.(?!\d)/g,"$1。")就可以了,但使用$1,$2...从外部调用的法子,我可是花了相当长的时间才从网上找到的,是不是能在教材里简单说说?
另外我至今不知道这个"$+数字"的应用范围究竟有多大,算全局变量还是局部?或者只是本行有效?
谢谢。
Re:正则表达式30分钟入门教程 小路 < Coder 2012-01-06 13:27
楼主V5
Re:正则表达式30分钟入门教程 liuziyu 2012-01-05 15:09
我也是特地注册了一个帐号,来告诉楼主,我第一次被忽悠得很开心:)
这里有一个采用hmailserver作为后台的含WEBMAIL的免费企业管理信息系统,一键自动安装,功能很全面,内外网双通,在hmailserver的基础上扩展了很多新的功能:全中文界面;内外网地址簿;最近联系人动态email地址;按内容、收件人、主题、备注、大小等多条件查询;外部地址自动调用smtp发信防止被作为垃圾邮件拒收;网络文件服务器;多条件邮件过滤等,效率也比hmailserver原版高很多,他们对hmailserver的理解可能是国内最好的,可以看看:
网站:http://www.clicksun.com.cn/
下载地址:http://www.clicksun.com.cn/download/download.asp?id=4
Re:正则表达式30分钟入门教程 仝 2011-12-31 17:06
大神就是厉害,我怎么就没想起来呢。非常感谢[quote]deerchao:
@仝
(^.{2,}$\n)+\[Language: Chinese\]
注:需要打开多行模式(Multiline)才行.
其中^.{2,}$匹配非空白行(通常Windows下所有行最后都有一个\r字符,所以非空白行里至少要有两个字符).[/quote]
Re:正则表达式30分钟入门教程 deerchao 2011-12-30 19:52
@仝
(^.{2,}$\n)+\[Language: Chinese\]
注:需要打开多行模式(Multiline)才行.
其中^.{2,}$匹配非空白行(通常Windows下所有行最后都有一个\r字符,所以非空白行里至少要有两个字符).
Re:正则表达式30分钟入门教程 仝 2011-12-29 19:44
初学者,还是不会活学活用,比如
The Thirteen Little Black Pigs, by Mrs. Mary Louisa Molesworth 30547
[Subtitle: and Other Stories]
[Illustrator: W. J. Morgan]
George Brown, by John Lewis 30546
[From The Makers of Canada series]
The A, B, C. With the Church of England Catechism, by Unknown 30545
Wuxiaozhuan, by Tao Qian 30544
[Subtitle: Five (sets of) filial piety biographies]
[Language: Chinese]
Nas Cinzas, by Gontran Borys 30543
[Gontran Borys is a pseudonyme of Eug鑞e Berthoud]
[Translator: Augusto Ernesto de Castilho e Melo]
[Language: Portuguese]
我只想匹配带有 [Language: Chinese]的块,表达式应该如何呢?
从前到后的匹配和贪婪的性质,总是不能如愿。总结一下,就是如果标志是在后面,表达式应该如何写。
Re:正则表达式30分钟入门教程 jin_ychome 2011-12-29 09:35
不错不错
Re:正则表达式30分钟入门教程 有一点难 2011-12-28 01:53
谢谢楼主
Re:正则表达式30分钟入门教程 little_bad_boy 2011-12-27 16:18
楼主的文章写的太好了。膜拜楼主。通俗易懂,看得出楼主是一个学识渊博,日常里也是一个谈笑风生的人。
Re:正则表达式30分钟入门教程 lpbottle 2011-12-26 13:35
好文章,把很枯燥的正则表达式写活了,还有不少的例子,每测试完一个都嗷嗷有成就感:原来我可以用正则表达式找出这么复杂的东西,也提升了我对正则表达式的兴趣,有学好它的冲动,真的太强大了。博主很用心,长期以来一直对文章不断地修改,再次表达对博主的谢意,3Q~
Re:正则表达式30分钟入门教程 非藉秋风 2011-12-26 10:31
顶楼主,好文章。
不过,原文:“只不过{2}匹配只能不多不少重复2次”
应该是:“只不过{2,}匹配只能不多不少重复2次”
或者:“只不过{2}匹配重复2次”吧?
Re:正则表达式30分钟入门教程 deerchao 2011-12-25 14:50
@pal_6447
你的建议很好,下次更新时我会考虑对相关的文本进行一定的修改.
关于你的问题,准确的答案是:你所提供的四个不同源文本, 其中均有一部分与\bhi\b是匹配的.
Re:正则表达式30分钟入门教程 pal_6447 2011-12-23 10:51
这绝对是一篇让人受益匪浅的好文章。
不过我还是要反馈一下,就是这条解释“如果需要更精确的说法,\b匹配这样的位置:它的前一个字符和后一个字符不全是(一个是,一个不是或不存在)\w”对于“没有程序员背景的读者”仍然难以理解。这是第一次也是最后一次解释“位置”这么个概念,不妨把它描述为在编辑文档时,光标所在的那个地方,如此一来,就很容易让没有背景的人理解了,\b就是要求光标所在的位置必须满足“它的前一个字符和后一个字符不全是\w”了。我是看了很久才发现就是这个意思,因此才能顺利理解“((?<=\d)\d{3})+\b,用它对1234567890进行查找时结果是234567890”,之前我总觉得结果是“234”和“678”。
但是对于\bhi\b我仍有疑问,是否“hi”、“ hi”、“hi ”、“ hi ”都能被匹配?
Re:正则表达式30分钟入门教程 fkcolor 2011-12-22 16:31
我顶楼主了,被忽悠了!赞一个!呵呵!
Re:正则表达式30分钟入门教程 张 博 2011-12-12 16:07
写的不错,顶一下
Re:正则表达式30分钟入门教程 紫炎之心 2011-12-08 21:55
拜读了!!!不错!!
Re:正则表达式30分钟入门教程 月令人孤 2011-12-08 01:20
感谢楼主的分享,学会了很多东西,以前看不懂的现在一下看明白了,非常感谢
Re:正则表达式30分钟入门教程 々霭圪巫师◎ 2011-12-06 00:14
呵呵,恰好三十分钟看完,而且收获很大,谢谢博主。
Re:正则表达式30分钟入门教程 耐得住寂寞 2011-11-23 16:27
来爆楼主菊花的。。。。
Re:正则表达式30分钟入门教程 C#菜子 2011-11-15 16:33
被忽悠的感觉真好,有时候真是佩服你们这中标题党!
Re:正则表达式30分钟入门教程 hapway 2011-11-11 10:29
楼主,感谢你的教程,但有一事相问
$qppattern='/\?([\w\-]+)\?(Q|B)\?(.+)\?= from[^;]+; from=<([^>]+)> to=<([^>]+)/'; 这一段是什么意思啊!
Re:正则表达式30分钟入门教程 deerchao 2011-11-10 10:06
@132811
不行。正则表达式必须匹配连续的字符,中间不能跳过。
Re:正则表达式30分钟入门教程 李行 2011-11-09 12:50
写的真好!感谢作者+lz翻译!
Re:正则表达式30分钟入门教程 132811 2011-11-08 22:24
老大,我想问一个问题。
我想通过0宽度正向断言实现,字符串越过的功能。
以下为例!
echo preg_match('/a(=)c/','a=c');匹配的内容是a=c
我的需求是越过一段字符串,比如这个“=”:
echo preg_match('/a(?==)c/','abc');//采用0宽度断言果然不行!
有法解决我这个奇怪的需求吗(只能用一个正则表达式!)?
Re:正则表达式30分钟入门教程 ㄟ荖樹炪厊ㄖ 2011-10-31 15:54
争取建到1000楼~
Re:桌面开发,到底用什么工具 toEverybody 2011-10-29 00:37
DELPHI的VCL文档网上一大堆,把资源用在提搞Delphi质量是正确的,毕究公司小嘛,理解一下
Re:正则表达式30分钟入门教程 星期天 2011-10-28 16:11
感谢楼主,顶一个
Re:正则表达式30分钟入门教程 好色尘人、 2011-10-17 22:50
谢谢楼主的教程 , 得到了很多很多知识 。
Re:正则表达式30分钟入门教程 oceanvitas 2011-10-15 10:15
COOL!
Re:正则表达式30分钟入门教程 deerchao 2011-10-12 00:26
@Zcold
是的。
Re:正则表达式30分钟入门教程 Zcold 2011-10-11 20:26
[quote]xujingtian:
这个好,我看了不止30分钟啊~~收下来慢慢看,谢谢LZ.
有一个问题在讲到 分组的时候 举例IP匹配的:((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)。 但是这个不是
01.01.01.01都可以配上?还有好多不合法的也可以配上~~[/quote]
\d\d? 是不是可以写成 \d+ ...
Re:HttpClient, 使用C#操作Web deerchao 2011-09-25 21:38
@[秦时明月]
[quote]在声明原作者的前提下,你可以任意使用,但本人对其正确性,使用的后果等不做任何担保,也不负任何责任.[/quote]
Re:HttpClient, 使用C#操作Web [秦时明月] 2011-09-25 20:04
楼主,我能用于商业开发吗?
Re:正则表达式30分钟入门教程 Mr_Bodom 2011-09-14 16:17
谢谢
Re:正则表达式30分钟入门教程 海南.胡勇 2011-09-13 17:40
此文绝对好呀。
请教楼主
如何匹配第一个搜索到的内容呢?
比如axxbcbc
我想只获取axxbc,该如何写正则呢?谢谢
祝中秋快乐!
Re:正则表达式30分钟入门教程 浆糊贱客 2011-09-04 12:08
[b]楼主是个天才,鉴定完毕![/b]
Re:正则表达式30分钟入门教程 xujingtian 2011-09-03 15:11
@deerchao
THX,确实可以,通过这个我确定我看明白了~~呵呵
Re:正则表达式30分钟入门教程 deerchao 2011-09-02 11:15
@xujingtian
01.01.01.01是合法的, 可以在Windows的IP输入框里输入.
Re:正则表达式30分钟入门教程 xujingtian 2011-09-02 10:21
这个好,我看了不止30分钟啊~~收下来慢慢看,谢谢LZ.
有一个问题在讲到 分组的时候 举例IP匹配的:((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)。 但是这个不是
01.01.01.01都可以配上?还有好多不合法的也可以配上~~
Re:正则表达式30分钟入门教程 AchillesPan 2011-08-29 00:49
感谢楼主的忽悠...一直没下决心把正则表达式好好看看....
Re:正则表达式30分钟入门教程 卖紫英的NPC 2011-08-23 16:48
我被忽悠了,我以为我已经笨的无可救药了。。。。。