我正在写一个小脚本,它将匹配鞋子标识符(SKU)中的鞋码。在
我想处理一些案子。给出以下列表:
sizes = ['315122-603 10 A', '315122-608_12.0', '317982-019', '364781-019_5.5Y', 'V24088-001_10', '609048-035 8.5', '7-20Spm8231B5 10', 'G17295-001_9.5']
我希望能得到每一个喜欢的尺寸(10,12,5.5,等等…)。在
我对正则表达式的了解非常有限,我一直在到处寻找一些片段,并得出以下结论
^{pr2}$但正如你所见,它不起作用。我只想匹配小数点前和小数点后的数字,但只能匹配数字。在
你要找的似乎是一个数字(数字、小数点和更多的数字)的第一次出现,它跟在空格或下划线后面。在
所以
几个问题:
.
在正则表达式中有特殊的含义。如果你真的想匹配一个点,你需要逃离它。在\D
、\b
或{re.findall
找到多个匹配项。如果您知道只有一个匹配项,请使用re.search
。在试试这个:
请注意,有些字符串包含下划线或没有十进制分隔符。您还没有真正描述在这些情况下应该发生什么,并且此模式不能处理您示例中的所有情况,但它有望为您提供一个良好的开端。在
您可能还需要考虑为每个输入类型编写不同的正则表达式,而不是尝试编写一个正则表达式来处理所有可能的输入。在
相关问题 更多 >
编程相关推荐