python 字符串替换、正则查找替换
import re
if __name__ == "__main__":
url = " ### deded<a href = 'xxx'>这是第一个链接</a><a href = 'xxx'>这是第二个链接</a> ### " # 1-1 清除#,str.replace(old, new)
newurl1 = url.replace("#", "")
print("第一步 1: ", newurl1) # 1-2 清除#,正则替换
p1 = re.compile(r"#+")
newurl2 = p1.sub("", url)
print("第一步 2: ", newurl2) # 2 去除首尾空格, str.strip()
newurl = newurl2.strip()
print("第二步: ", newurl) # 3 match 查找是否存在内链(从字符串开始处匹配,若匹配成功返回,若开头没有匹配上则返回None)
p2 = re.compile(r"<a.*?>.*?</a>")
match = p2.match(newurl)
if match is not None:
print("第三步: ", match.group()) # 4 search 查找是否存在内链(可以从字符串任意位置开始匹配,查找整个字符串,直到成功匹配后返回,匹配失败返回None)
search_match = p2.search(newurl)
if search_match is not None:
print("第四步: " + search_match.group()) # 5 提取所有内链url中的文本,非贪婪匹配 + 分组捕获()
p3 = re.compile(r"<a.*?>(.*?)</a>")
textlist = p3.findall(newurl)
print("第五步: ", textlist) # 6 提取所有内链url,非贪婪匹配
p4 = re.compile(r"<a.*?/a>")
linklist = p4.findall(newurl)
print("第六步: ", linklist)
输出结果:
第一步 1: deded<a href = 'xxx'>这是第一个链接</a><a href = 'xxx'>这是第二个链接</a>
第一步 2: deded<a href = 'xxx'>这是第一个链接</a><a href = 'xxx'>这是第二个链接</a>
第二步: deded<a href = 'xxx'>这是第一个链接</a><a href = 'xxx'>这是第二个链接</a>
第四步: <a href = 'xxx'>这是第一个链接</a>
第五步: ['这是第一个链接', '这是第二个链接']
第六步: ["<a href = 'xxx'>这是第一个链接</a>", "<a href = 'xxx'>这是第二个链接</a>"]
python 字符串替换、正则查找替换的更多相关文章
- 转 Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)
转自: http://www.cnblogs.com/huangcong/archive/2011/08/29/2158268.html 黄聪:Python 字符串操作(string替换.删除.截取. ...
- Python 字符串操作(截取/替换/查找/分割)
Python 截取字符串使用 变量[头下标:尾下标],就可以截取相应的字符串,其中下标是从0开始算起,可以是正数或负数,下标可以为空表示取到头或尾. # 例1:字符串截取 str = '1234567 ...
- Python - 字符串模板的安全替换(safe_substitute) 具体解释
字符串模板的安全替换(safe_substitute) 具体解释 本文地址: http://blog.csdn.net/caroline_wendy/article/details/27057339 ...
- python字符串截取、查找、分割
Python 截取字符串使用 变量[头下标:尾下标],就可以截取相应的字符串,其中下标是从0开始算起,可以是正数或负数,下标可以为空表示取到头或尾. # 例1:字符串截取 str = '1234567 ...
- Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)
去空格及特殊符号 s.strip().lstrip().rstrip(',') 复制字符串 #strcpy(sStr1,sStr2) sStr1 = 'strcpy' sStr2 = sStr1 sS ...
- 黄聪:Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)
去空格及特殊符号 s.strip().lstrip().rstrip(',') 复制字符串 #strcpy(sStr1,sStr2) sStr1 = 'strcpy' sStr2 = sStr1 sS ...
- Sublime_正则查找替换
在sublime编辑器中使用正则表达式对内容进行查找和替换: (1)Find——Replace... (2)出现下图界面 注意:点击左边第一个按钮,开启正则表达式功能. (3) (4)点击Replac ...
- lua中 string.find(查找获取字符串) string.gsub(查找替换字符串) string.sub(截取字符串)
> aaa='/p/v2/api/winapi/adapter/lgj'> print(string.find(aaa, "^/.+/adapter/(.*)"))1 ...
- python字符串、正则-xdd
1.分割字符串 str.split(sep,maxsplit) #(分隔符,分几次) 2.合并字符串 str2=string.join(iterable) #str2='@'.join(list1) ...
随机推荐
- 旷视研究院Detection组负责人
http://www.skicyyu.org/ https://zhuanlan.zhihu.com/p/61910297 俞刚,旷视研究院Detection组负责人.2014年博士毕业于新加坡南洋理 ...
- uva 10123 - No Tipping dp 记忆化搜索
这题的题意是 在双脚天平上有N块东西,依次从上面取走一些,最后使得这个天平保持平衡! 解题: 逆着来依次放入,如果可行那就可以,记得得有木板自身的重量. /********************** ...
- css基础面试题
1 介绍一下标准的CSS的盒子模型?与低版本IE的盒子模型有什么不同的? 标准盒子模型:宽度=内容的宽度(content)+ border + padding + margin低版本IE盒子模型:宽度 ...
- js的常见的三种密码加密方式-MD5加密、Base64加密和解密和sha1加密详解总结
写前端的时候,很多的时候是避免不了注册这一关的,但是一般的注册是没有任何的难度的,无非就是一些简单的获取用户输入的数据,然后进行简单的校验以后调用接口,将数据发送到后端,完成一个简单的注册的流程,那么 ...
- linux磁盘命令-lsblk显现磁盘阵列分组
linux磁盘命令-lsblk显现磁盘阵列分组 lsblk(list block devices)能列出系统上所有的磁盘. lsblk [-dfimpt] [device] 选项与参数: -d :仅列 ...
- iOS进阶之正则表达式
最近一直在弄正则表达式,于是在这里整理一下,便于日后查阅. 1.常用符号 ^:字符串的开始 $:字符串的结束 *:表示零个或若干个 ?:表示零个或一个 +:表示一个或若干个 | :表示 或 操作 . ...
- android架构原理
应用层(与用户打交道) 应用架构层(常用的组件和服务) 系统运行层(Android运行环境+原生c/c++库) Linux核心层(linux内核+硬件抽象层)
- Spring之bean的生命周期
这篇博文是spring生命周期的详解,目前限于作者自身的水平对于一些内容可能只知其然不知其所以然,所以博文中如果出现错误欢迎各位指出,同时我也会逐步提升自己的水平,争取能够多发布一些能让大家获益的博文 ...
- JQ清空select的已选择状态
$('#payment').find("option:selected").attr("selected", false);
- python识别图片
import requestsfrom aip import AipOcr image = requests.get('https://static.pandateacher.com/7b5d6d8d ...