WEB开发网
开发学院软件开发Python 我的第一个基于 Web的过滤代理 阅读

我的第一个基于 Web的过滤代理

 2007-03-29 11:58:53 来源:WEB开发网   
核心提示: 我曾遇到过一个小问题,由于生成资源的平台和您的平台使用不同的行结束约定,我的第一个基于 Web的过滤代理(5),生成的文本中可能会发生某些奇怪的事(这似乎是 urllib 中的错误),这个问题的解决方法是在以上代码中执行小小的 .readlines() 循环,让我们回过来看什么与之匹配&r

我曾遇到过一个小问题,由于生成资源的平台和您的平台使用不同的行结束约定,生成的文本中可能会发生某些奇怪的事(这似乎是 urllib 中的错误)。这个问题的解决方法是在以上代码中执行小小的 .readlines() 循环。不管该资源原来是什么样子,这个操作会给您一个字符串,它都有所使用平台的正确行结束约定(估计可能合理)。

使用 re 模块

由于本文篇幅限制,这里只讨论一部分规则表达式。 参考资料中列出了许多关于该主题的参考书籍。 re 模块在 Txt2Html 中的使用很广泛,用于标识源文本中的各种文本模式。我们查看一个比较复杂的例子:

使用 Python [re] 模块     import
     re
    
     def
     
     URLify
    (txt):
   txt = re.sub(
    '((?:http|ftp|gopher|file)://(?:[^
<)]+))(s)',
    '<a href="\1">\1</a>\2', txt)
    
     return
     txt

URLify() 是一个小巧函数,它的功能正如其名称所示。如果在“智能 ASCII”文件中遇到了类似于 URL 的字符串,它将转换成 HTML 输出中同一个 URL 真正的热链接。让我们看看 re.sub() 的作用。首先,从最主要的角度来看,函数的目的是“查找与第一个模式中的值匹配的字符串,然后通过将第三个变量作为要操作的字符串,以第二个模式替换匹配结果”。非常好,从这些角度来看,它与 string.replace() 没有什么区别。

第一个模式有几个元素。首先,请注意括号:最高层次由两对括号组成:(S) 前复杂的字符串。括号对与可能组成部分替换模式的“子表达式”匹配。第二个子表达式 (s) 只表示“查找与任何空格字符匹配的字符串,让我们回过来看什么与之匹配”。因此,让我们研究一下第一个子表达式。

上一页  1 2 3 4 5 6  下一页

Tags:一个 基于 Web

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接