随笔 - 34, 文章 - 0, 评论 - 0, 阅读 - 6248
  订阅 订阅  :: 管理
< 2025年6月 >
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 1 2 3 4 5
6 7 8 9 10 11 12

2011年11月30日

正则群里逍遥(blog.csdn.net/wuyazhe)发了一个帖子链接,是关于在正则表达式的逆序环视中应用反向引用出现的问题。楼主的问题比较经典,而楼下TIM引用过客的帖子也是非常好的,我多次在不同场合推荐过客的博客也从这篇博客中看出原因来。但是可惜的是明显Tim没有看问题,给出的链接也必然不是楼主提出问题的解决。因此逍遥在下面进行了相应的分析和猜想。可惜的是逍遥的分析也没有找到point所在,因此才有了楼主的第二个帖子之所有说了这么多的废话,是希望看到这篇博客的童鞋能认真看完帖子,并能够知道逍遥、tim、过客等正则达人,从他们的博客中多多少少能学到一些知识,同时也是让您能够了解问题所在和

posted @ 2011-11-30 23:03 hfCoder 阅读(311) 评论(0) 推荐(0)

2011年4月18日

摘要: 本文所有内容对编译原理有一定基础者没有任何意义!而所谓的单元是我假想的一个()括起来的一个整体单位,你可以理解成运算符的优先级,其实就是这个意思,只是这个概念被弱化了。很多情况下,我们都忽略了一些细节的知识点,今天冷静下来分析一个正则问题的时候,找到了一个小bug(?!<a).* 对环视有点基础的一定能看出来这在干什么,也很容易看出来错误在什么地方。(?:(?!<a).)*这说明了一个小的单元概念,即 [元字符或普通字符] 加上 [量词] 组成一个单元。也就是说第一个正则中,这个环视作用范围是 .* 而非 .正则表达式中的范围问题一直都是学习正则和理解(看)正则的一个问题,这对初学 阅读全文

posted @ 2011-04-18 20:09 hfCoder 阅读(268) 评论(0) 推荐(0)

2011年4月6日

摘要: 我们使用正则表达式,熟练掌握各种功能和结构只是手段,解决实际的问题才是真正的目的。要解决真正的问题,就必须有解决问题的思路,正则表达式的功能,说到底,可以归纳为三种逻辑,为了表述方便,我们分别称为与、或、非。逻辑关系说明与在某个位置,某些元素(字符、字符组或者子表达式)必须出现或在某个位置,某个元素或许不出现,或许不出现,或许长度不固定;要出现的,是某几个元素中的一个非在某个位置,某些元素不能出现一般来说,正则表达式千变万化,总是这三种逻辑的组合。比如匹配双引号字符串"quoted string"逻辑关系分析与首尾的双引号字符必须出现或两个双引号之间的字符个数是不确定的(如 阅读全文

posted @ 2011-04-06 23:33 hfCoder 阅读(330) 评论(0) 推荐(0)

摘要: 上一篇文章我们介绍了和Unicode有关的匹配问题,这篇文章我们主要讲述一下Unicode编码本身的特性,以便更好地运用正则表达式解决与Unicode相关的问题。Unicode Code PointUnicode字符多种多样,除去ascii中的字母、数字、标点和中文字符,还包括其它多种语言和多种符号,有些符号甚至很难打出来(比如表示商标注册的?),这时候该如何表示呢?再说远一点,如果我们想用一个字符组匹配所有中文字符,能不能像『[a-z]』那样呢?所幸,每一个Unicode字符都对应自己的Unicode编码,也就是Unicode编码表中的一个代码点(Code Point),所以在正则表达式中的 阅读全文

posted @ 2011-04-06 23:32 hfCoder 阅读(165) 评论(0) 推荐(0)

摘要: 关于正则表达式的文档很多,但大部分都是英文的,即便有中文的文档,也翻译或改编自英文文档。在介绍功能时,这样做没有大问题,但真要处理文本,就可能会遇到一些英文开发或应用环境中难得见到的问题。比如中文之类多字节字符的匹配,就是如此。所以,这篇文章专门谈谈正则表达式如何处理多字节字符,更准确地说,是如何处理Unicode编码的文本(为什么只提到Unicode编码,而没有提到其它编码,理由在后面详述)。首先介绍关于编码的基础知识:通常来说,英文编码较为统一,往往采用ascii编码或兼容ascii的编码(即编码表的前127位与ascii编码一致,常用的各种编码,包括Unicode编码都是如此)。也就是说 阅读全文

posted @ 2011-04-06 23:30 hfCoder 阅读(166) 评论(0) 推荐(0)

摘要: 【编者按】正则表达式一直是开发者工具箱中趁手的利器,但很多人对此仍是一知半解。这次InfoQ中文站有幸邀请到来自盛大创新院的余晟,开辟《正则表达式》的专栏,为读者讲解正则表达式的一些技巧和概念。他还是《精通正则表达式》和《技术领导之路》的译者。用过正则表达式的人都知道,正则表达式中有一类叫做“元字符(meta-character)”的特殊符号,它们并不匹配自身对应的字符,而具有其他的含义。比如脱字符『^』表示“定位到字符串/行的开头”,加号『+』表示“之前的元素重现1次以上。如果需要匹配这些字符本身,需要用反斜线来转义,匹配『^』就应该用/^,匹配『+』就应该用/+。看起来有点麻烦,但这样的元 阅读全文

posted @ 2011-04-06 23:29 hfCoder 阅读(252) 评论(0) 推荐(0)

2011年3月25日

摘要: 前阵子用QQ邮箱发了几封邮件,发现其中的输入地址栏很别致,看了下,做的很精细,用户体验也灰常的不错。就拿过来做了下实验。但是代码量还是大了点,而且我一直强调的适用性与通用性的抉择上我又要纠结了。昨天遇到一个问题,就是在一个文本框里输入一堆人的姓名,这些姓名已经存在数据库中了,大家也知道,客户永远都是希望能少付出点,多回报点的,基于这个情况我打算把QQ邮箱的借过来用,可是问题出现了,剥离他的功能不难,但是剥离完之后(因为很多地方的实现不是那么的一直,比如我就不需要邮箱检验等)发现太庞大了,而且也不是那么的适用于我的一个小功能上,因此就自己重新写了一个很小很小的简化版。虽然说花费的精力不大,但是却 阅读全文

posted @ 2011-03-25 11:22 hfCoder 阅读(186) 评论(0) 推荐(0)

2011年1月16日

摘要: 晚上看lambda,结果神游至老赵的博客去了。于是乎看到了1年多前的一个趣味编程题。老赵用2种思路解决了。但是由于最近遇到个事都会想着正则是否可以搞定。于是乎就有了下面的这个 string str = "cpu-3.0g--color-red-green-black--price-5000-8000--weight-'3-'--keywords-'levi''s'"; MatchCollection mc = Regex.Matches(str, @"(?n)(?<=^|--) ... 阅读全文

posted @ 2011-01-16 03:43 hfCoder 阅读(248) 评论(0) 推荐(0)

2011年1月14日

摘要: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf 阅读全文

posted @ 2011-01-14 09:46 hfCoder 阅读(133) 评论(0) 推荐(0)

2011年1月12日

摘要: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf 阅读全文

posted @ 2011-01-12 17:30 hfCoder 阅读(100) 评论(0) 推荐(0)

2011年1月11日

摘要: http://topic.csdn.net/u/20110111/00/5bc889c6-14b0-4297-bd6a-383c719ba1b2.html问题的起源是上面的帖子,昨天晚上看到帖子的时候已经超过12:40了。没有时间去思考,给了个答案就匆匆睡了。初步诊断了IE7下的环视出现了BUG早上起来就开始折腾这玩意,废话不多说,看看BUG到底出在什么地方吧首先我把正则简化了问题,因为错误的不确定性,我试图删除各个地方以达到尽量展示错误的来源。最后得到的正则如下/^(?=.*/d).{8,20}$/这个时候测试依然错误。也可以检测出和环视有关系给每个部分加上分组测试/^(?=(.*)(/d) 阅读全文

posted @ 2011-01-11 01:08 hfCoder 阅读(143) 评论(0) 推荐(0)

2010年12月31日

摘要: 这个功能十分简单,暂时把功能做出来。等所有的小功能都出来了。打算把特效库建起来,到时候再来封装。另外。留个扣子:这段代码有2个硬伤,严重影响着效率和可扩展性。大家能指出来嘛?如果看出来了,请留言。我灰常希望能结交您这样的朋友。<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1 阅读全文

posted @ 2010-12-31 23:01 hfCoder 阅读(103) 评论(0) 推荐(0)

2010年12月23日

摘要: 都说一个问题不想永远重复的回答下去的最好办法是写在博客里。那我就遵从下呗其实这个仿QQ右下角的广告框没什么特色。不过还是说说实现原理吧。如果你是个新手,那么请顺序看下去,如果你是个熟练的js使用者,那么仅仅看加重段就可以了。高手嘛。。。是不会来的。1、定位使用了fixed定位,但是弱点是ie6下不支持这个定位,所以需要采取一些hack手段。这里使用了比较流行的IE6下绝对定位取代fixed定位的方法。通过window.XMLHttpRequest来判断是否是IE6(因为IE下没有这个对象嘛)。2、在滚动条移动的时候用到了reflow的技巧。该技巧网络上使用的人众多,但是推广的不够,所以我也就传 阅读全文

posted @ 2010-12-23 10:23 hfCoder 阅读(150) 评论(0) 推荐(0)

2010年12月10日

摘要: 好像一直没有正正经经的写过一遍关于技术的博客,这些天一直有些感触,不知道是太轻视前端技术了,还是实在找不到门路。总是看到一些无语的需求。 前端技术也是技术,也有需求和解决方案。很多时候我们需要把客户的需求重新整理加工成用代码能实现的解决方案。之前有一哥们,用了近1000行js代码来完成一组安全验证,大致是这样的意思:1、用户名不能为空、长度为6-12个字符、需要为字母数字下划线组成、不能以数字开头、至少要有1个字母和1个数字2、密码必须大于8位、不能为空、必须要包含一个大写字母、小写字母、数字3、确认密码同上同时不能和密码栏不同4、邮箱必须正确,即得有一个@符号。且前后不能为空,不含特殊字符. 阅读全文

posted @ 2010-12-10 12:04 hfCoder 阅读(126) 评论(0) 推荐(0)

2010年11月30日

摘要: 2008年毕业的时候,带着茫然和对外界的憧憬,选择了闯荡上海滩。彼时节,尚不知天之几高,地之几厚。时6月中旬。方不过6平米一卧室,荒废数年的学业加之大学期间养起的慵懒、散漫的习性,一无所知却又不知所谓的盲目的投递着简历,静候着面试机会的到来,由于正值毕业生找工作的高峰期,又因我实在是一无所知,凭何让人连最基本的printf()都很难不写的语法错误的我吸引供职者们的眼球。至8月,炎热无比,而心之焦虑胜于一切,心中已蒙几许阴影,曾经还带有:“给我一个机会我会做的好的”这种自信也当然无存,剩下的只有自卑。悔挥洒时光不知珍惜,然仍不知前路如何。甚至想放弃程序,去太平洋卖电脑去。8月中,或感天地之恩,或 阅读全文

posted @ 2010-11-30 01:59 hfCoder 阅读(203) 评论(0) 推荐(0)

2010年11月23日

摘要: 这篇打算八卦一点。从最简单的开始一、验证一个字符串中必须是有字母数字组成的正则表达式首先我们了解下/w,在不同的开发平台下他的含义是不同的。比如javascript中/w<==>[a-zA-Z0-9_]而在c#中/w还包含了汉字等unicode编码字符所以这个问题一定要排除使用/w给出解决方案为:^[a-z0-9A-Z]+$二、验证一个字符串中必须是由数字和字母组成,同时在6-15位这个不废话了,直接给出解决方案吧,因为太啰嗦没意义给出解决方案为:^[a-z0-9A-Z]{6,15}$三、验证一个字符串中必须由数字和字母组成,同时在6-15位,并且必须是字母开头。给出解决方案为:^ 阅读全文

posted @ 2010-11-23 14:57 hfCoder 阅读(155) 评论(0) 推荐(0)

摘要: 前几天,有个童鞋在js版块求助《多重拆分替换》的问题,说白了其实这个不算是多重拆分替换。具体可以参考这个http://topic.csdn.net/u/20101118/16/bd9a9b25-f29a-42c4-acc1-ab59cb590ea3.htmlvar mystr="86-10_北京,1-1_纽约," ;var strs = mystr.split(",");for(var i = 0; i < strs.length;i++) { var val = parseInt(strs[i]); strs[i] = strs[i].repla 阅读全文

posted @ 2010-11-23 10:34 hfCoder 阅读(138) 评论(0) 推荐(0)

2010年10月31日

摘要: 1、变量看下面一段代码var t = "global";function test() {a = "global too";var t = "local";alert(t); //output:"local"alert(a); //output:"global too"t = "also local";}test();alert(t); //output:"global"alert(a); //output:"global too"为什 阅读全文

posted @ 2010-10-31 18:36 hfCoder 阅读(143) 评论(0) 推荐(0)

2010年10月20日

摘要: 最近使用notepad写HTML,结果document拼错了,导致一开始写对的东西擦掉重写,差点误解了removeChild的作用,这个也搞定了jQuery里文档操作的几个方法warp时的技巧问题了。<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml&quo 阅读全文

posted @ 2010-10-20 14:46 hfCoder 阅读(289) 评论(0) 推荐(0)

2010年10月19日

摘要: 昨儿在CSDN里遇到一个问题 http://topic.csdn.net/u/20101018/15/c94fc92a-2e39-4f7d-a5ba-1052a8a53ff4.html 其用jQuery的ajax方法请求后台的xml文件,在FF下请求没有问题,结果在IE下却ajax请求失败。 看了... 阅读全文

posted @ 2010-10-19 14:39 hfCoder 阅读(243) 评论(0) 推荐(0)

2010年8月2日

摘要: 在拥有了VS2008之后我逐渐开始寻找着其中IDE带来的便利。那智能感知,那代码片段……可惜前阵子在家里装sybase和其他一些别的东西的时候,无意中破坏了IDE。导致看不到智能感知,无论我如何ctrl+j他都不理不睬。无奈之下就回到了notepad写asp的时代,说实话那时候只是为了装X和当时的条件所致,2个类、5个属性、4个方法。编译的时候出错无数。当时那个无奈啊。... 阅读全文

posted @ 2010-08-02 16:17 hfCoder 阅读(135) 评论(0) 推荐(0)

2010年5月12日

摘要: 本来这个话题内容很多,但是由于消化的不是很好,所以能写出来的可能会很少,而且由于从DOM一章开始涉及到兼容浏览器的内容就很多了,虽然在书上看多很多兼容性的问题,但是实质上并不能搞清楚谁对谁,学习这些内容真不是一招一夕的啊。 以前在一个js的教程里看到过一句话,大意是说:在javasc... 阅读全文

posted @ 2010-05-12 15:28 hfCoder 阅读(166) 评论(0) 推荐(0)

2010年5月11日

摘要: 四、创建DOM节点 使用document.createElement可以创建一个新的DOM节点元素,同时可以使用document.createElementNS来来判断是否引入了正确xml命名空间(xhtml是xml的一个子集) function create(elem) { ... 阅读全文

posted @ 2010-05-11 10:28 hfCoder 阅读(171) 评论(0) 推荐(0)

2010年5月10日

摘要: 通常写JavaScript都对应到对DOM的操作,久而久之就显得对DOM的操作是JS的核心所在,虽然很多不同意这个看法,但是真正在写js的时候更多就是查找到dom元素,然后经过一部分的运算和处理,然后再给dom赋值。这个过程中可能会传回server端。 一、查找dom元素 a) 对根元素的查找是通... 阅读全文

posted @ 2010-05-10 23:53 hfCoder 阅读(381) 评论(0) 推荐(0)

2010年5月5日

摘要: 从今天开始,我将“不务正业”的学习javascript,虽然用了小一年的js现成代码了,也多多少少写了几行js。但是却没有认真的从头到尾学过javascript。最近一段时间发现学习目标很不明显,动力也有问题,想起longshanks曾经教育我说随便找件自己感兴趣的做着,故此打算借javascri... 阅读全文

posted @ 2010-05-05 09:24 hfCoder 阅读(142) 评论(0) 推荐(0)

2009年8月31日

摘要: 为了开始重新学习C/C++,这2天下了个ubuntu打算在LINUX的命令行下学习他。1、安装gcc因为在ubuntu下,一开始root是禁用的,因此用了自己的帐号进入之后 sudo passwd root修改了root的密码,logout之后用root登录。安装GCC的过程不是很复杂,主要是第一天不知道源更新的那么慢,导致浪费了不少时间。后来更换了源之后就好安装了,apt-get install build-essential下载安装好之后就可以编译程序咯2、安装vimapt-get install vim-gtk下载安装好之后就可以使用了3、使用vim编写代码敲入vim命令i进入插入模式开 阅读全文

posted @ 2009-08-31 22:58 hfCoder 阅读(184) 评论(0) 推荐(0)

摘要: 大概从高中二年级开始,我也加入了羡慕天才的行列,觉得他们是神赐予的天赋。其实心里也明白他们的付出,但是我总是有理由不去追赶他们:他们从多少年前就开始……了,我现在已经来不及了,还是退而求其次吧。也是从那时起,我学会了对自己宽容,允许自己低人一等,习惯仰视奇迹。 从小到大我没有遇到过真正对我的教育很重视的人,从光环到叹息,身边的人仅仅是一个评价而已,在父亲的感染力下,我总是不至掉队,但是却渐渐的失去了自信和方向。大学毕业后,我忽然发现这4年过去了,而我却找不到任何一点用人单位会给我机会的理由,我开始彷徨,开始举手无措。下一步我该怎么走? 一年过去了,现在,我基本上是在没有选择的情况下逐渐的自我. 阅读全文

posted @ 2009-08-31 13:32 hfCoder 阅读(139) 评论(0) 推荐(0)

2009年7月30日

摘要: 一、asp.net 3.5 揭秘(卷2)http://www.douban.com/subject/3661109/刚刚结束了第一卷,感觉书的确不错,算是很好的一个补充,配合asp.net技术内幕等书本可以说是asp.net的百科全书了二、Professional ASP.NET MVC 1.0http://www.douban.com/subject/3290207/本想等中文版的(唉,英语差真是个麻烦啊),可是公司似乎有意使用mvc 1.0来做下一个项目,唉,恶补下吧三、Head First 设计模式(中文版)http://www.douban.com/subject/2243615/好书 阅读全文

posted @ 2009-07-30 13:22 hfCoder 阅读(113) 评论(0) 推荐(0)

2009年4月29日

摘要: 2009/03/18 08:01:30 1040一直想学习下和性能有关的一些内容 但是找不到基础点的书 有什么书可以推荐推荐么[/hanx]2009/03/18 08:04:27 1026性能没有很直接的理论,原则上,算法和算法分析可以帮助性能的优化,但是实践中,没有这么简单。一般的做法是先做测试,得到数据,并且找出瓶颈,然后运用算法知识做相应的优化2009/03/18 08:05:07 1026有一点必须注意,记住高大爷的话:“过早优化是万恶之源”2009/03/18 08:05:26 1040我的算法 数据结构 以及一些靠近一点点硬件方面的知识都需要学习的 2009/03/18 08:05 阅读全文

posted @ 2009-04-29 15:38 hfCoder 阅读(142) 评论(0) 推荐(0)

2009年4月24日

摘要: 最近学习的内容实在太多太多,乱的让自己也没法去整理了。干脆现在全部放在一边去。整理好之后再来看书。从今天开始,正式使用blog和其他工具整理和总结,养成一个良好的习惯来提高一下自己的学习效率。看C/C++、数据库、软件工程、数据结构与算法、jquery、.net、设计模式、编程技巧、linux====,甚至想看java了,真的感觉第一次感觉到学习没有一个良好的规划也是一件痛苦的事。时间把握:今年不能再让一些基础问题拖着自己了,因此在今年要把数据结构及算法的基础部分给通关下,另一方面操作系统和计算机网络方面的一些基本知识要整理一下,丢的时间有点久了。加上基础本就不好,不能给丢了。今年要整理出一套 阅读全文

posted @ 2009-04-24 16:58 hfCoder 阅读(110) 评论(0) 推荐(0)

2009年4月20日

摘要: 最近一切都变得很混乱,整个人在混乱中跳入跳出的好几个月了。从过年过来到现在,可能我接收到的知识点不算少,可是竟然没有一个整理文档出来。浮躁和不安始终围绕着我。毕业快一年了,经历了求职、辞职、再求职、工作至今,自己本身发生了许多的变化,在自己身上逐渐的显示出来了我的人生规划,可同时却又没有了以前那么的有条理的做事了,似乎二者很矛盾,很是奇怪。朋友们有不少至今还没有安定下来,有时候我比他们还着急,也许在我看来一切都是那么的理所当然,可我明白我也是从迷茫中不断的被他人和自我给拖出来的,或许我放弃了以前的那些理想和目标不是一件明智的事,但是起码从现在来看,做这一切我很坦然。希望他们也能够早日苏醒过来, 阅读全文

posted @ 2009-04-20 16:04 hfCoder 阅读(139) 评论(0) 推荐(0)

2008年12月5日

摘要: 1、.net的面向对象就把每一个控件都作为类来处理,因此面向对象的角度来说。先调用构造函数后执行load(作为一事件来处理的)2、以asp.net为例,当我们请求一个页面的时候是先执行load,再去处理你调用的方法==。比如说protected void Page_Load(object sender, EventArgs e) { this.Label1.Text = "Type = " + ViewState["test"]; } protected void Button1_Click(object sender, EventArgs e) { V 阅读全文

posted @ 2008-12-05 16:09 hfCoder 阅读(151) 评论(0) 推荐(0)

摘要: 本文中的默认构造函数是指在没有编写构造函数的情况下系统默认的无参构造函数1、 当基类中没有自己编写构造函数时,派生类默认的调用基类的默认构造函数Ex: public class MyBaseClass { } public class MyDerivedClass : MyBaseClass { public MyDerivedClass() { Console.WriteLine("我是子类无参构造函数"); } public MyDerivedClass(int i) { Console.WriteLine("我是子类带一个参数的构造函数"); } 阅读全文

posted @ 2008-12-05 08:18 hfCoder 阅读(244) 评论(0) 推荐(0)

2008年11月26日

摘要: 今天在CSDN里遇到一朋友发的一个问题代码如下public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { int ImageHeigt; ImageHeigt = Getint(); Response.Write(ImageHeigt); } public int Getint() { int ImageH; string z = "0"; if (z == "0") { ImageH = 500; 阅读全文

posted @ 2008-11-26 20:19 hfCoder 阅读(179) 评论(0) 推荐(0)

点击右上角即可分享
微信分享提示