Python编程。 Python 2.4.3
我有一个字符串:
x = "set_ccci_path 2 -setup -from [get_clocks abc_clk] -to [all_registers -clock xyz_clk -data_pins] -start"
当我使用
时y = re.match(r'(.*)(get_clocks)\s+(.*)(\])(.*)$', x, re.M|re.I)
我得到了y.group(3)
:
abc_clk] -to [all_registers -clock xyz_clk -data_pins
我想要的是abc_clk
。我该怎么做?
答案 0 :(得分:0)
也许你可以尝试这样的事情:
y = re.match(r'(.*)\[((get_clocks)(\s+)(?P<c>\w+))\](.*)$', x, re.M|re.I)
y.group('c')
答案 1 :(得分:0)
更改第三组以排除结束括号,您将获得所需的结果。
import re
x = "set_ccci_path 2 -setup -from [get_clocks abc_clk] -to [all_registers -clock xyz_clk -data_pins] -start"
y = re.match(r'(.*)(get_clocks)\s+([^\]]*)(])(.*)$', x, re.M|re.I)
print y.group(3)