为什么这个正则表达式不匹配

时间:2012-06-21 15:40:33

标签: regex tcl

我对以下正则表达式有疑问:

我想匹配以下字符串:employee Type="entry" id="mmop" location="somewhere" 使用RE如下:

if {[regexp {id=(".*")} $data -> Id]} {
          #do something here
    }

但我得到的结果是"entry" id="mmop" location="somewhere",如何解决?

1 个答案:

答案 0 :(得分:4)

?之后添加*,或将.替换为[^"]。这个问题是由于.*贪婪造成的,在仍然匹配模式的同时抓住了它所能做的一切。