尝试使用regexp和foreach匹配文本 [英] Trying to match a text using regexp and foreach

查看:33
本文介绍了尝试使用regexp和foreach匹配文本的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用以下代码来匹配类似cell ("acf12bcjd6")的文本。引号内的值不断变化,我必须捕获所有这些值。我使用的代码是:

foreach searched_data $final {   
    [regexp {cell(.*)+} $searched_data match]   
    puts "$match"   
}
但是我收到一个错误,说"无法达到匹配,没有这样的变量"。我不明白我的错误。我做得对吗?

推荐答案

您的程序失败,因为正则表达式模式与字符串不匹配,因此未设置match。试试这个

foreach searched_data $final {
    if {[regexp {cell +("(.*)")} $searched_data junk match]} {
        puts stdout $match
    }
}

该模式假定cell和左方括号之间的空格是可选的。我还假设您想把引号去掉。

这篇关于尝试使用regexp和foreach匹配文本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆