我是TCL语言的新手。我很难在myFile.txt中捕获数据。
我的文件.txt
set obj "{Hello}"
set obj "{Bye}"
set obj "{Nice}"
set obj "{Yoh}"
我想在大括号内捕捉单词,如下所示。
Hello, Bye, Nice, Yoh
如何在 TCL 中使用正则表达式来做到这一点。
首先要尝试的是这个简单的事情:
regexp {{(w+)}} $obj -> word
关键点:
{
和}
是Tcl的RE语言变体中的元字符,因此需要对其进行转义。- 我们想要提取的位("非空字字符序列",所以
w+
(需要被捕获并与后面的捕获变量匹配:->
只是我们想要忽略的捕获的虚拟变量。 - 始终将 TCL 中的 RE 放在大括号内,除非您确切知道自己在做什么。(当你知道自己在做什么时,你就会知道几乎总是把它们放在大括号里。这使我们能够在没有反斜杠炎症的情况下编写 RE。