我需要一个正则表达式,它匹配字符串中最后一个点之前的所有内容。例如,我有这样的文字:
if_blk4.if_blk1.if_blk1
我想得到if_blk4.if_blk1
。
谢谢!
答案 0 :(得分:5)
要匹配最后一个点的所有内容,但不包括最后一个点,请使用前瞻:
.*(?=\.)
答案 1 :(得分:1)
怎么样
regexp {.*(?=\.[^.]*$)} $text match
即。匹配任何导致(不匹配)点序列的字符和零点或多点不是点的字符,后跟字符串的结尾。
(正则表达式{.*(?=\.)}
是等价的,因为正则表达式匹配不需要锚定。)
或(更快)
file rootname $text