inp = "In moreH$450pacific much liquormk H2.55pacific Z,H430, 430"
parts = re.findall(r'.*?\d+(?:\.\d+)?(?!,?\s*\d)', inp)
print(parts)
这张照片是:
['In moreH$450', 'pacific much liquormk H2.55', 'pacific Z,H430, 430']
正则表达式的策略是匹配所有内容,直到第一个数字内容未通过负前瞻。逻辑如下:
.*? match all content up and including the nearest
\d+(?:\.\d+)? number, possibly with a decimal component
(?!,?\s*\d) which is NOT followed by either a comma, whitespace, and another number OR
just another number
您可以在
re.findall
中使用此正则表达式:正则表达式详细信息:
.*?\d+
:匹配0个或多个字符,后跟1+个数字(?:\s*[,\.]\s*\d+)*
:后跟dor或逗号,并带有周围的空格,后跟1+个数字我会在这里使用
re.findall
:这张照片是:
正则表达式的策略是匹配所有内容,直到第一个数字内容未通过负前瞻。逻辑如下:
相关问题 更多 >
编程相关推荐