我有一个很大的字符串,我正在尝试解析它。我想做的是读取clk
(时钟)值。是否有任何方法可以以Python方式提取此文本({[]}之间的文本?
目标是获取clk
值并将其存储在列表中。
答案 0 :(得分:2)
假设其他方括号值中没有方括号值,那么使用正则表达式捕获每个方括号值就很容易了:
import re
s = """1. e4 {[%clk 1:23:29]} c5 {[%clk 1:30:39]} 2. Nf3 {[%clk 1:23:32]} d6
{[%clk 1:30:58]} 3. d4 {[%clk 1:23:50]} cxd4 {[%clk 1:31:21]}"""
results = re.findall(r"{\[%clk (.*?)\]}", s)
print(results)
结果:
['1:23:29', '1:30:39', '1:23:32', '1:30:58', '1:23:50', '1:31:21']
正则表达式模式的简要说明:
{ #literal curly bracket
\[ #literal square bracket
%clk #literal "%clk "
(.*?) #match any number of characters, and capture them for the output
\] #literal square bracket
} #literal curly bracket