我有一个逗号分隔的字符串,我想匹配每个不在括号中的逗号(保证括号是平衡的)。
a , (b) , (d$_,c) , ((,),d,(,))
Run Code Online (Sandbox Code Playgroud)
a 和 (b)、(b) 和 (d$ ,c)、(d$ ,c) 和 ((,),d,(,))之间的逗号应该匹配但不在 (d$_,c) 内或 ((,),d,(,))。
注意:最终我想用这些逗号分割字符串。
它尝试了这个 regex:
(?!<(?:\(|\[)[^)\]]+),(?![^(\[]+(?:\)|\]))from here但它只适用于非嵌套括号。
我想将逻辑打包数组转换为longint unsignedsystemverilog,然后我可以使用 DPI-C 将其导出到 C++ unsigned long。我使用的模拟器是Verilator。检查下面的示例。
logic[31:0] v1;
logic[63:0] v2;
int a = signed'(v1); //cast to signed int
int b = int'(v1); //cast to signed int
int unsigned c = unsigned'(v1); //cast to unsigned int
longint d = longint'(v2); //cast to signed long
//longint unsigned e = longint unsigned'(v2); //This doesn't work. I need to cast to unsigned long.
Run Code Online (Sandbox Code Playgroud)