我在努力寻找漫画书的书名和它们各自的数字,from this site.
但我对Regex有意见,我以前从来没用过。 我不想让你厌烦我的全部代码,只要说我用的是漂亮的汤就够了,我从Regex需要的只是指向标题名称和每个漫画标题的集号,从列表中循环通过。你知道吗
从网页上可以看出,这本身就应该很简单,出版商的名字都是大写的,总是跟在标题后面,总是跟在#符号后面,总是跟在插曲号后面。你知道吗
我的方法是:
import re
text = "876876 PUBLISHER title #345 jklhljhljh"
texpat = re.compile(r"PUBLISHER(.*?)#")
thename = pattern.search(text)
name = thename.group()
numpat = re.compile(r"#(\d+)")
num = numpat.search(text)
print(name)
print(num.group())
输出为:
PUBLISHER title #
#345
但应该是:
title
345
我可以使用replace string方法删除我不想要的东西,但是我会被这个输出卡住:
title
以及名称.strip()或名称.lstrip()不删除额外的三个空格。 太晚了,我以前从没用过regex,我肯定我在做傻事。你知道吗
输出为:
我将在这里使用^{} 来帮助进行html解析:
印刷品:
然后,你可以从标题抓取数字,如果你想提取它了。我使用的是
#(\d+)
正则表达式,它匹配一个hashtag,后跟一个或多个数字,括号有助于capture数字:印刷品:
将此匹配以捕获标题(在第一组中)和数字(在第二组中),并使用一个表达式:
Demo
然后需要使用数组^{} 来获取捕获组,而不是整个匹配:
输出:
相关问题 更多 >
编程相关推荐