将文字字符串与正则表达式匹配
有时你需要将文字(子)字符串与正则表达式匹配,尽管该子字符串包含 RE 元字符。虽然是的,它可以编写代码中插入适当的反斜杠,使这项工作(使用 string map
)这是最简单的,只是前面加上***=
的模式,这使得 RE 引擎处理字符串只是文字字符的休息,禁止所有进一步元字符。
set sampleText "This is some text with \[brackets\] in it."
set searchFor {[brackets]}
if {[ regexp ***=$searchFor $sampleText ]} {
# This message will be printed
puts "Found it!"
}
请注意,这也意味着你不能使用任何锚点。