我有一个verilog文件,其中一些输入和输出被命名为133GAT(123)
nand2 g679(.a(n752), .b(n750), .O(1355GAT(558) ));
在这里,我只需要用1355GAT_588
替换1355GAT(558)
,而不是.a(n752)
有多个这样的实例
我试过用Python3
re.sub(r'GAT*\((\w+)\)',r'_\1',"nand2 g679(.a(n752), .b(n750), .O(1355GAT(558) ) ")
它的输出是
'nand2 g679(.a(n752), .b(n750), .O(1355_558 ) '
我的期望是得到
'nand2 g679(.a(n752), .b(n750), .O(1355GAT_558 ) '
为什么你的代码没有给你预期的结果
您的正则表达式
GAT*\((\w+)\)
匹配GA
、GAT
、GATT
等,当它匹配字符串中的GAT
时,您实际上是在用替换来替换它,因为您从未捕获它并在替换中再次包含它正则表达式1
这是可行的,并为您提供了检查
GAT
之前的数字的选项See this regex in use here
代码1
See code in use here
正则表达式2
这也可以,但是使用一个而不是两个捕获组
See this regex in use here
代码2
See code in use here
相关问题 更多 >
编程相关推荐