我使用 Python 的 re 库尝试了这个。从一个文件中,我得到了几行,其中包含由条形 ('|') 分隔的元素。我把它们放在一个列表中,我需要的是获取里面的数字以便与它们一起操作。
这将是我想要拆分的字符串之一:
>>print(line_input)
>>[240, 7821, 0, 12, 605, 0, 3]|[1.5, 7881.25, 0, 543, 876, 0, 121]|[237, 761, 0, 61, 7, 605, 605]
Run Code Online (Sandbox Code Playgroud)
我的目的是用方括号之间的每个元素形成一个向量。
我创建了这个正则表达式
>>test_pattern="\|\[(\d*(\.\d+)?), (\d*(\.\d+)?), (\d*(\.\d+)?)]"
Run Code Online (Sandbox Code Playgroud)
但结果有点令人困惑。特别是,结果是
>>vectors = re.findall(test_pattern, line_input)
>>print(vectors)
>>[('240', '', '7821', '', '0', '', '12', '', '605', '', '0', '', '3', ''), ('1.5', '.5', '7881.25', '.25', '0', '', '0', '', '0', '', '0', '', '0', ''), ('23437', '', '76611', '', '0', '', '0', '', '0', '', '605', '', '605', …Run Code Online (Sandbox Code Playgroud)