我在这里面临一个问题。Python 3.7版。你知道吗
https://regex101.com/r/WVxEKM/3
正如您在regex站点上看到的,我的regex工作得很好,但是,当我尝试用python读取字符串时,我只得到第一部分,也就是说,逗号后没有值。你知道吗
这是我的密码:
part_number = str(row)
partn = re.search(r"([a-zA-Z0-9 ,-]+)", part_number)
print(partn.group(0))
这就是partn.group(0)
正在打印的内容:
FMC2H-OHC-100018-00
我需要以regex形式获取字符串,带有逗号和值:
FMC2H-OHC-100018-00, 2
是我的正则表达式错了吗?。逗号和值是怎么回事?你知道吗
行值 以下是转换为字符串的行值,从my db检索的数据还包括括号和引号:
('FMC2H-OHC-100018-00', 2)
('FMC2H-OHC-100027-00', 0)
你的问题是你没有在你的角色组中包含
'
。所以这个正则表达式匹配例如FMC2H-OHC-100018-00
和, 2
,但不是两者都匹配。同时re.search
在找到第一个匹配项后停止搜索。所以,如果你只想要第一场比赛,就选择:我把
A-Za-z0-9
改成了\w
,因为它更短,可读性更强。如果您想要一个匹配所有元素的列表,请使用:我不认为您需要将行值转换为字符串,然后尝试用正则表达式解析结果。线索是当您在更新中说“这里是转换为字符串的行值”时,这意味着它们最初是其他格式的,因为结果看起来它们实际上是两个值的
tuple
,一个字符串和一个整数。你知道吗如果这是正确的,那么您可以避免将它们转换为字符串,然后尝试使用regex对其进行解析,因为您只需使用Python提供的相对简单的内置字符串格式化功能就可以获得所需的字符串。你知道吗
我的意思是:
输出:
相关问题 更多 >
编程相关推荐