SV 或 UVM 中的正则表达式

Regex in SV or UVM

在Systemverilog/UVM中使用正则表达式需要调用什么函数?

注意:我不是问如何使用正则表达式,只是问方法名。

首先,如果您想使用正则表达式,您需要确保您使用的是与其 DPI 代码一起编译的 UVM 库(即未设置 UVM_NO_DPI 定义)。

您要使用的方法位于dpi/uvm_regex.svh。主要函数是 uvm_re_match(...),它将正则表达式和要匹配的字符串作为参数。这基本上是 regex.h 库中 regexec(...) C 函数的包装器。它将 return 0 匹配。

您可能想要使用的另一个函数是 uvm_glob_to_re(...),它可以将 glob 表达式(您在 Linux shell 中得到的那种)转换为真正的正则表达式。