正则表达式入门
最近要帮别人下载电影,但是只能找到种子(你懂得)所以就想写一个爬虫来爬磁力链接,所以去找了些书来看,
同时在这里写点笔记,避免以后自己忘掉也给后来的人留下一点资料。
我只做了一点微小的工作 :)
^ 代表一行的开始 $ 代表一行的结束 […] 正则表达式结构体,“匹配列出的任意字符” - 连字符,表示范围,[0-9][a-z],只有在字符组内部,连字符才是连字符,如果出现在开头,也代表普通字符。 [^…] 匹配未列出的字符,表示排除,“匹配未列出的字符” . 匹配任意字符,在字符组中表示普通字符 | “或” 括号划定范围,gr(a|e)y,在表达式中是普通字符 ? 代表可选项,只作用于之前紧邻的元素,无论是否出现匹配都会成功,次数上限1 + 代表之前紧邻的元素出现一次或多次,无法匹配将会失败,最低出现一次 * 代表之前紧邻的元素出现任意多次或不出现,不会失败, \ 转义字符,即让某些元字符变成普通意义的 匹配引号内字符串 "[^"]*" 匹配美元金额 \$[0-9]+(\.[0-9][0-9])? 匹配URL \<http://[-a-z0-9_.:]+/[-a-z0-9_.:@&?=+.!/~*%$]*\.html?\> 匹配时间 (1[012]|[1-9]):[0-5][0-9] 24小时制 [01]?[0-9]|2[0-3]
这些是在猫头鹰书上看到的,还有蝙蝠书也看了一下,但我觉得可能不适合我,因为我比较考虑 C# 和 JS 里用的。
感觉太老而且不是很懂,接下来看了邮电出版社的正则表达式必知必会,觉得这本要比蝙蝠书和猫头鹰书好的多。
略过上面那些又有下面这些元字符
[\b] 回退并删除一个字符,即backspace键 \f 换页符 \n 换行符 \r 回车符,\r\n \n\n \t 制表符 \v 垂直制表符 \s 任何一个空白字符等价于[\f\n\r\t\v] \S 任何一个非空白字符等价于[^\f\n\r\t\v] \d 任何一个数字等价于[0-9] \D 任何一个非数字等价于[^0-9] \w 任何一个字母数字字符或下划线字符等价于[a-zA-Z0-9_] \W 任何一个非字母数字字符或下划线字符等价于[^a-zA-Z0-9_] {最大值,最小值} 控制匹配次数 +? *? {n, }? 非贪婪模式的次数匹配,“匹配尽可能少的字符”
后面还有三章吧,感觉有些复杂,目前的这些应该已经够用了,所以就没有看。
如果想深入学习的话,还是推荐看正则表达式必知必会,相对的简单易懂一些。
收集的正则:
匹配<img src>图片地址 <img\b[^<>]*?\bsrc[\s\t\r\n]*=[\s\t\r\n]*[""']?[\s\t\r\n]*(?<imgUrl>[^\s\t\r\n""'<>]*)[^<>]*?/?[\s\t\r\n]*>
出处:http://www.cnblogs.com/08shiyan/archive/2011/09/01/2161741.html
匹配<script>标签 <script[^>]*?>.*?</script>
出处:http://www.cnblogs.com/08shiyan/archive/2011/09/28/2194682.html
部分正则:http://www.cnblogs.com/08shiyan/archive/2011/09/28/2194682.html