我对TCL中regexp
命令的-line
、-lineanchor
和-linestop
选项感到困惑。我试了很多例子,但仍然无法理解它们的用法。请帮助我尝试理解它们(以及它们的使用(
感谢
这些都是仅对多行文本有用的设置。如果你的字符串中没有换行符,它们就没有实际的区别。
-lineanchor
更改了^
和$
在RE中的工作方式,因此它们也锚定在线路的起点和终点。(内部RE标志序列(?w)
是等效的。(-linestop
更改.
和[^…]
的工作方式,使它们不包含换行符;使用此选项,您只能显式匹配换行符。(内部RE标志序列(?p)
是等效的。(-line
是-lineanchor
和-linestop
的缩写,如果您想在换行符重要的多行文本中进行匹配,则可能需要该选项。(内部RE标志序列(?n)
是等效的。(
我从未想要自己指定-lineanchor
或-linestop
。我甚至不确定在什么情况下你会想要它。然而,当你匹配text
小部件的内容时,Tk会使用-line
(好吧,相当于…(,当你已经读取了一个文件并希望在不首先将行拆分为字符串列表的情况下对行应用转换(lased
(时,它也很好。