正则表达式以从一行中获取匹配的单词

时间:2018-07-10 23:54:09

标签: regex tcl

我一次读取一行文件。我想在BADCONFIGNAME=之后获取文本,并将其存储在列表中。 对于下面的示例:我的列表看起来像{gnd_PWELL____vdd_NWELL gnd_PWELL____vdd33}

- NB= '7' / BADCONFIGNAME= 'gnd_PWELL____vdd_NWELL'                                      
   - comment= ''top2_pst'/'state1 ' |||| '6/gnd_PWELL/gnd_on/0.000000' '3/vdd_NWELL/ON/1.2''
   - comment= ''top2_pst'/'state2 ' |||| '6/gnd_PWELL/gnd_on/0.000000' '3/vdd_NWELL/ON/1.2''
- NB= '8' / BADCONFIGNAME= 'gnd_PWELL____vdd33'

能帮我获得正确的正则表达式,以便从每一行中获取所需的数据吗?

1 个答案:

答案 0 :(得分:0)

有几种可能的方法可以选择这些符号,并且像往常一样,正则表达式并不是解决问题的最佳工具。还是

if {[regexp {BADCONFIGNAME.*'(\w+)'} $line -> symbol]} {
    lappend result $symbol
}

适用于这组特定的行。