我试图分析以下文本
# ---------------------------------------------------------------------------- #
# Packages
# ---------------------------------------------------------------------------- #
set_global_assignment -name VHDL_FILE [file join $::quartus(qip_path) "file_1_test_1_qip.vhd"]
set_global_assignment -name VHDL_FILE [file join $::quartus(qip_path) "file_2_test_1_qip.vhd"]
set_global_assignment -name VHDL_FILE [file join $::quartus(qip_path) "file_3_test_1_qip.vhd"]
# Register Tool set_global_assignment -name VHDL_FILE [file join $::quartus(qip_path) "file_INVALID_test_1_qip.vhd"]
# ---------------------------------------------------------------------------- #
# Sub Modules
# ---------------------------------------------------------------------------- #
set_global_assignment -name QIP_FILE [file join $::quartus(qip_path) "module_test_2.qip"]
set_global_assignment -name QIP_FILE [file join $::quartus(qip_path) "module_test_3.qip"]
# ---------------------------------------------------------------------------- #
# Module Files
# ---------------------------------------------------------------------------- #
set_global_assignment -name VHDL_FILE [file join $::quartus(qip_path) "file_4_test_1_qip.vhd"]
set_global_assignment -name VHDL_FILE [file join $::quartus(qip_path) "file_5_test_1_qip.vhd"]
使用正则表达式:
^{pr2}$这也很好,给了我上面文本中所有的文件名,但是它也给了我被注释掉的行的文件名。在
我试着做一个正则表达式,忽略这一点,但我不能让它工作。在
这就是我试过的
(?<!#)(?:(?<=_FILE).+"(.+)")
请看一下RegEx 101
问候 以法莲
似乎目标行的格式始终相同,可以使用字段方法避免正则表达式:
如果您想坚持使用正则表达式,只需添加another lookahead:
在
Python
中,这相当简单: ^{pr2}$见a demo on ideone.com。
若要忽略注释行,必须从行的开头开始匹配,并匹配除
#
之外的任何内容:或者只是
^{pr2}$两种模式都需要多行标志
m
。在相关问题 更多 >
编程相关推荐