Regex、正规表示法
这篇文章应该是挤了三年才出来(夸张),会这样说,是因为这个东西在我的每年的计划目标都出现
(代表每年都没有达成 =.=) 如此就可知道Regex是多么的恼人的学习,
至少对我来说学习曲线有点高度,看着一些火星文,内心都会冒出OS:ㄊㄋㄋㄉ
最后都会逃避,然后选择土法炼钢的方式拆解出我要的字符串,就在近期才强迫自己学习,
一开始是先在网络上搜寻资源,找到一个 "模拟器" Expresso 3.0
然后在在保哥的网站上找到一篇推荐的入门文章,一切就绪后就可以开始
http://www.dotblogs.com.tw/johnny/archive/2010/01/25/13301.aspx
看了一天也是一知半解(还我八小时来),也不知道会不会,就直接在模拟器上模拟,比较容易了解
如下
如上图,我想要解析一个网页,要抓取的是
直觉上来说,我们的想法很就是希望抓取
因此
1.这段Pattern的 (
2.接下来要解析[Srn] 请参考入门网址,
[] 内的代表符合条件的"参数"。
S代表空白以外的符。(参数一)
rn代表换行符。(参数二)
因此这段我们可以说 "符合空白以外 且 符合换行" 的数据
3.{0,} 的解释就是符合2.的条件次数(这有点难解释),入门网址的讲解太拢统,
后面我会举个简单例子补充说明这段。
目前的表示 :符合 "
后面接着符合 "空白以外 或 换行" 的符 (2.) ,且重复了 0次以上 (3.)4.+是看都看不懂,直接操练上才了解,就是在+之前的符出现一次或一次以上的都算是符合的条件
5.最后再补个
结论:其实小马自己在网络上也是看了很多数据,但是可能资质驽钝,总觉得在网络上的说明就
像是 "当且仅当" 这种很讨人厌的学术用语 (就不能用白话文说明吗 ? (╯-_-)╯ ~╩╩ )
花了很多时间,最后还不如找个范例自己实做了解的快。
补充说明:刚才{0,}的解释,用个简单的范例画面说明客官比较容易了解
下篇会将此结果实际应用在.Net 范例上。
Bascally, Regex is really difficult to explain for me. The best way is find a sample to try it.
补充:一个朋友分享了一不错解析Regex的线上工具
http://www.regexper.com/
有图显示加减对于学习有一些帮助喔 !
原文:大专栏 Regex - 正规表示法