Verilog 在LEX中,如何解析一些代码直到出现一个特殊的符号?
我想知道在LEX中,如果我想解析一些代码直到一个特殊的符号 例如:Verilog 在LEX中,如何解析一些代码直到出现一个特殊的符号?,verilog,lex,Verilog,Lex,我想知道在LEX中,如果我想解析一些代码直到一个特殊的符号 例如:$display(“helloworld”) 在这里,我想得到$display(“helloworld”)但除了 我已经试过了:\$“display”。*[^;],它似乎不起作用 任何帮助都将不胜感激。谢谢。匹配任何字符,Kleene星号*将匹配前面的许多字符。在本例中,您将匹配显示,后跟任何其他字符的列表。这正好包括您要捕获的位和分号 显而易见的修复方法是删除表达式的该部分,并将Kleene星号移动到[^;]表达式之后。将显示“
$display(“helloworld”)代码>
在这里,我想得到$display(“helloworld”)
但除了代码>
我已经试过了:\$“display”。*[^;]
,它似乎不起作用
任何帮助都将不胜感激。谢谢。
匹配任何字符,Kleene星号*
将匹配前面的许多字符。在本例中,您将匹配显示
,后跟任何其他字符的列表。这正好包括您要捕获的位和分号
显而易见的修复方法是删除表达式的该部分,并将Kleene星号移动到[^;]
表达式之后。将显示“匹配任何字符的多个实例,而该字符不是;
”。这可能需要在子表达式周围使用paren(我不记得pricese语法,因为它在不同的lexer中有所不同)
\$“display”([^;])*
或\$“display”[^;]*
匹配任何字符,Kleene星号将匹配其前面的许多字符。在本例中,您将匹配显示
,后跟任何其他字符的列表。这正好包括您要捕获的位和分号
显而易见的修复方法是删除表达式的该部分,并将Kleene星号移动到[^;]
表达式之后。将显示“匹配任何字符的多个实例,而该字符不是;
”。这可能需要在子表达式周围使用paren(我不记得pricese语法,因为它在不同的lexer中有所不同)
\$“display”([^;])*
或\$“display”[^;]*
字符类表达式周围不需要参数。另外,应该删除“display”周围的双引号。非常感谢。这确实帮了我的忙。:)但是仍然有另一个问题,所以我只是创建了。角色类表达式周围不需要paren。另外,应该删除“display”周围的双引号。非常感谢。这确实帮了我的忙。:)但仍然有另一个问题,所以我只是创造了。