Java用python 正则表达式式如何读取网页内容

本文实例讲述了Python基于python 正则表达式式实现文件内容替换的方法分享给大家供大家参考,具体如下:

最近因为有一个项目需要从普通的服务器移植到SAE而SAE的thinkphp文件结构和本地測试的有出入,需要把一些html和js的引用路径改成SAE的形式为了不手工改,特地速成了一下Python的python 正则表达式式和文件操作主要要求是将某目录丅的html和js里面的几个路径变量分别更改成相应的形式,匹配文件名的时候用了正则

加载中请稍候......



编号规则指的是以数字为捕获组進行编号的规则在普通捕获组或命名捕获组单独出现的python 正则表达式式中,编号规则比较清晰在普通捕获组与命名捕获组混合出现的python 正則表达式式中,捕获组的编号规则稍显复杂

在展开讨论之前,需要说明的是编号为0的捕获组,指的是python 正则表达式式整体这一规则在支持捕获组的语言中,基本上都是适用的下面对其它编号规则逐一展开讨论。

如果没有显式为捕获组命名即没有使用命名捕获组,那麼需要按数字顺序来访问所有捕获组在只有普通捕获组的情况下,捕获组的编号是按照“(”出现的顺序从左到右,从1开始进行编号的 

上面的python 正则表达式式可以用来匹配格式为yyyy-MM-dd的日期,为了在下表中得以区分月和日分别采用了\d{2}\d\d这两种写法。

用以上python 正则表达式式匹配芓符串:匹配结果为:

命名捕获组通过显式命名,可以通过组名方便的访问到指定的组而不需要去一个个的数编号,同时避免了在python 正則表达式式扩展过程中捕获组的增加或减少对引用结果导致的不可控。

不过容易忽略的是命名捕获组也参与了编号的,在只有命名捕獲组的情况下捕获组的编号也是按照“(”出现的顺序,从左到右从1开始进行编号的 

用以上python 正则表达式式匹配字符串:

当一个python 正则表達式式中普通捕获组与命名捕获组混合出现时,捕获组的编号规则稍显复杂对于其中的命名捕获组,随时都可以通过组名进行访问洏对于普通捕获组,则只能通过确定其编号后进行访问

混合方式的捕获组编号,首先按照普通捕获组中“(”出现的先后顺序从左到右,从1开始进行编号当普通捕获组编号完成后,再按命名捕获组中“(”出现的先后顺序从左到右,接着普通捕获组的编号值继续进行编號

也就是先忽略命名捕获组,对普通捕获组进行编号当普通捕获组完成编号后,再对命名捕获组进行编号

用以上python 正则表达式式匹配芓符串:,匹配结果为:

我要回帖

更多关于 python 正则表达式 的文章

 

随机推荐