1

我有一个带有这种模式的字符串test_str = "Abc xyz another_name 123 V aaa"。之后我需要提取数字和数字之后的字符串,作为值及其单位。我怎样才能做到这一点?
我只能使用正则表达式获取数字,但不能获取其后面的字符串,即单位。

re.findall(r'[0-9]+', test_str)

预期的输出是:123 V

编辑:

另外:某些单位可能包含斜杠或反斜杠或带逗号的数字,我怎样才能得到这些?这意味着其中一些可能是1.2或用于1,1单位A/CDC-W

4

3 回答 3

1

这可能是您正在寻找的。此正则表达式将返回数字,后跟一个空格和一个字符串。

re.findall(r'[1-9]+ [a-zA-Z-\/]+', test_str)
于 2020-04-05T12:38:45.327 回答
1

此模式匹配带有 or 的数字,以or,结尾.的单位,以及它们之间的任何空格。/-

re.findall(r'[0-9,\.]+\s*[a-zA-Z/\-]*', test_str)
于 2020-04-05T12:40:32.610 回答
1

如果您还想在字符串中包含任何其他字符,包括/-或数字,
我认为除空格之外的任何字符都可以。

re.findall(r'[0-9]+ [^\s]+', test_str)
于 2020-04-05T13:14:26.460 回答