tcl - 不平衡括号的 Tcl-regexp
问题描述
每次我写:
set a "cell (number 3)"
regexp "cell (" $a
我收到一条错误消息,括号 () 不平衡。我该如何解决?我不想写regexp "cell (number 3)" $a
解决方案
该(
字符在正则表达式中很特殊:它以一对捕获括号开头。
你想告诉 regexp 你想要一个文字左括号:
regexp {cell \(} $a
# or
regexp {cell [(]} $a
将正则表达式文字括在大括号而不是引号中是最佳实践:它允许您最大限度地减少过多的反斜杠,以保护正则表达式字符免受它们的特殊Tcl含义的影响。
推荐阅读
- java - 为什么 Google App Engine JDBC 连接 URL 不起作用?
- node.js - 回调错误:TypeError:无法读取未定义的属性“行”
- c++ - 如何查找结构字段占用的空间以及它与下一个字段之间的填充?
- python - 使用 python 更改字符串的编码时出错。UTF-8 和 cp1252
- mongodb - Mongodb 查询执行耗时过长
- javascript - JS 代码 - 只有我的问题会上传到我的测验中,而不是答案选项
- vb.net - VB从文本导入值
- java - 如何在 OnClickListener 中切换选项卡位置或替换选项卡位置
- c++ - 如果我们将浮点数据的小数部分分配给 int,会发生什么情况?
- testing - Caffe 总是返回一个标签