如果文件包含fullstop,则Python RegEx match不会写入该文件

2024-09-28 18:48:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在Python脚本中使用RegEx表达式,以便在网页中找到特定的变量。然后我用csv文件导出它。但是,如果找到的组包含句号,则根本不导出。我该怎么补救?你知道吗

在此网页中,显示的项目会根据输入的代码而改变。我的脚本自动输入代码,然后记录生成的项目。以下是我代码的相关部分:

import re

regName = r'The item name is (.*?)\.'

response = opener.open(
    'http://website.com/webpage.php' + itemValues)
html = response.read()
responseDecode = html.decode('utf8')

name = re.findall(regName, responseDecode)

#Convert stuff to Unicode
uniName = name[0].encode('utf8', 'replace')

with open("readable.txt", "a") as file:
    file.write("\n"*2)
    file.write(uniName + '\n')

注意,我转换为unicode是因为有些项目名称包含重音字符。你知道吗

编辑:例如,R.O.B.O.T.就是一个不起作用的例子。所有要写的都是R


Tags: 项目代码namere脚本网页responsehtml
1条回答
网友
1楼 · 发布于 2024-09-28 18:48:20

尝试使用regName = r'The item name is (.*?)\.$'$标记字符串的结尾,这样就不会过早使用其他句号。现在正则表达式正在贪婪地匹配第一个正则表达式。你知道吗

或者如果字符串的结尾不正确,请尝试添加空格或其他后续字符。您需要指定标记项字符串结尾的字符类型。你知道吗

相关问题 更多 >