正则表达式匹配 |
本帖最后由 我不是第一个 于 2022-10-26 12:27 编辑搞定了。谢谢。 用.replace可以替换掉,但是过程太过于复杂。
你要替换成什么?怎么个复杂法
怎么用正则替换掉| 。
你要替换成什么? hrpzcf 发表于 2022-10-26 12:16
你要替换成什么?怎么个复杂法
开始没说清楚,补充了问题。 我不是第一个 发表于 2022-10-26 12:17
开始没说清楚,补充了问题。
我感觉依然没有说清楚
>>> import re
>>> content = '<p><img alt="典藏1223 | 怎么匹配竖杠" data-src="V12iGcU9slSN/2HhWxme4Bt14Glc5HYpd/12tmtXHKlQO71fYE+kzr9SxWGHE4BhnjrpuwQm3NA4zjpQFgOsBbVd23Swf12CQETDIxk="/></p>'
>>> re.sub(r'\|', '', content)
'<p><img alt="典藏1223怎么匹配竖杠" data-src="V12iGcU9slSN/2HhWxme4Bt14Glc5HYpd/12tmtXHKlQO71fYE+kzr9SxWGHE4BhnjrpuwQm3NA4zjpQFgOsBbVd23Swf12CQETDIxk="/></p>'
>>>
我不是第一个 发表于 2022-10-26 12:17
开始没说清楚,补充了问题。
t=content0.replace("|","") 这个不行 吗 本帖最后由 我不是第一个 于 2022-10-26 12:47 编辑
人造人 发表于 2022-10-26 12:28
我感觉依然没有说清楚
import re
content0 = '<p><img alt="典藏1223 | 怎么匹配竖杠" data-src="Sn+iV12iGcU9slSN/2HhWxme4Bt14Glc5HYpdDIxk="/></p><p><img alt="典藏44444 | 怎么匹配竖杠" data-src="Sn+2tmtXHKlQO71"/></p>'
pat = '<img[^>]+>'
pics_html = re.compile(pat).findall(content0)
for i in pics_html:
content2 = re.sub(i, '', content0, flags=re.I)
print(content2)
我不单单是要替换 | 而是包含|img 整个标签
之所以不直接替换所有img 要用for是因为 for下面还有其他的代码 必须要用for。 我不是第一个 发表于 2022-10-26 12:41
import re
content0 = ' '
pat = ']+>'
什么?
想想办法么,把你的问题说清楚,别人听不懂你的问题,就没办法帮你
我猜,下面这样?
sh-5.1$ cat main.py
#!/usr/bin/env python
#coding=utf-8
import re
content = '<p><img alt="典藏1223 | 怎么匹配竖杠" data-src="Sn+iV12iGcU9slSN/2HhWxme4Bt14Glc5HYpdDIxk="/></p><p><img alt="典藏44444 | 怎么匹配竖杠" data-src="Sn+2tmtXHKlQO71"/></p>'
pattern = r'<[^>]*(?=\|)'
print(re.sub(pattern, '', content))
sh-5.1$ ./main.py
<p>| 怎么匹配竖杠" data-src="Sn+iV12iGcU9slSN/2HhWxme4Bt14Glc5HYpdDIxk="/></p><p>| 怎么匹配竖杠" data-src="Sn+2tmtXHKlQO71"/></p>
sh-5.1$
我不是第一个 发表于 2022-10-26 12:41
import re
content0 = ' '
pat = ']+>'
这样直接替换不行?
下面的代码用for干什么?
sh-5.1$ cat main.py
#!/usr/bin/env python
#coding=utf-8
import re
content = '<p><img alt="典藏1223 | abcd" data-src="Sn+iV12iGcU9slSN/2HhWxme4Bt14Glc5HYpdDIxk="/></p><p><img alt="典藏44444|def" data-src="Sn+2tmtXHKlQO71"/> <img alt="abcdefg" data-src="Sn+2tmtXHKlQO71"/></p>'
pattern = r'<img[^|]*?\|.*?>'
print(re.sub(pattern, '', content))
sh-5.1$ ./main.py
<p></p><p> <img alt="abcdefg" data-src="Sn+2tmtXHKlQO71"/></p>
sh-5.1$
人造人 发表于 2022-10-26 13:02
这样直接替换不行?
下面的代码用for干什么?
必须要用for ,已经找到问题所在了。 代码里面有个 + 没有注释掉。谢谢{:5_109:}
页:
[1]