• 正则表达式入门


    最近要帮别人下载电影,但是只能找到种子(你懂得)所以就想写一个爬虫来爬磁力链接,所以去找了些书来看,

    同时在这里写点笔记,避免以后自己忘掉也给后来的人留下一点资料。

    我只做了一点微小的工作 :)

    ^       代表一行的开始
    $       代表一行的结束
    […]    正则表达式结构体,“匹配列出的任意字符”
    -           连字符,表示范围,[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

  • 相关阅读:
    五秒原则,做一件事之前数 5 秒,1,2,3,4,5 立马去做。比如睡觉:数五秒,立马放下手机,闭眼。
    Perl 安装 JSON 包
    Perl: hash散列转换为Json报错集, perl.c,v $$Revision: 4.0.1.8 $$Date: 1993/02/05 19:39:30 $
    叫法: 表名 表字段名 定义每个表字段
    失误1: 把i放到循环体内部,i++失效
    沈南鹏@《遇见大咖》: A轮没投,投了8个月以后就证明了张一鸣是对了,在美国都没有张一鸣这种模式
    xshell通过xftp传输Windows文件到Linux:在输入put后,再摁 TAB 键,可显示当前文件夹的文件
    LeetCode84 Largest Rectangle in Histogram
    全排列问题及其引申问题
    LeetCode Weekly Contest 8
  • 原文地址:https://www.cnblogs.com/Aaxuan/p/6025195.html
Copyright © 2020-2023  润新知