我在下面提到了2个字符串作为输入。
Mon May 22 04:18:11 2017 call duration
和
call duration
我想将Mon May 22 04:18:11 2017
作为输出。
如何编写正则表达式以使用TCL获取此值?
答案 0 :(得分:0)
我会这样做:(累了,请原谅那些糟糕的变种)
proc prefix {big_str little_str} {
# find the position of the first "little string" in the "big string"
set index [string first $little_str $big_str]
# get the substring that precedes that index
return [string range $big_str 0 $index-1]
}
测试(甚至在找不到小字符串时也能正常工作)
% prefix "Mon May 22 04:18:11 2017 call duration" "call duration"
Mon May 22 04:18:11 2017
% prefix "Mon May 22 04:18:11 2017 call duration" "XYZ"
%