使用 python 正则表达式捕获 verilog 输入网络(分层拆分为 1。"()" , 2."{}" , 3."," )



我想知道是否可以通过3步分割python字符串

首先是((,其次是{},最后是">

string = "module ( a , b, c, d, {e, f, g}, {h,i}, j, k )"  
result = re.split("",string)  
print(result)  

我希望这个代码的结果如下

['a', 'b', 'c', 'd', '{e,f,g}', '{h,i}', 'j', 'k']

如果事情没有嵌套得比这更深,这会满足您的要求。

import re
pat = r'w+|{[^}]*}'
string = "module ( a , b, c, d, {e, f, g}, {h,i}, j, k )"  
result = re.findall(pat, string)
print(list(result))

输出:

C:tmp>python x.py
['module', 'a', 'b', 'c', 'd', '{e, f, g}', '{h,i}', 'j', 'k']

最新更新