我在sed中得到了一个正则表达式,我不确定“:“在这里代表什么。
sed 's/:[^\t]*//g'
你能给予我一些信息吗?更新:我从一个出版物中得到了这个命令,我很困惑,因为如果:是一个普通字符,那么它后面的[^\t]意味着行的开始,这似乎实际上匹配行开始之前的:,这似乎没有任何影响?最好的。张主任。
:
[^\t]
kiz8lqtg1#
我很困惑,因为如果:是一个普通字符,则它后面的[^\t]表示该行的开始,这看起来实际上与a:在排队开始之前,这似乎没有任何影响?通常,^表示“行的开始”,没错。然而,你在这里看到的是is a character set。在那个上下文中,^的意思是“否定的”。所以实际上,[^\t]和“行首”一点关系都没有。它的意思是“不是制表符”。(\t的意思是“制表符”。)总之,此正则表达式:
^
\t
:[^\t]*
表示“常值:字符,后面跟着任意数目的非定位字符”。
ax6ht2ek2#
正则表达式中的:没有什么特别之处,它只是匹配一个:字符。所有特殊字符都在文档中列出(这是Python,因为您使用python-re标记; sed所使用的方言是不同的,但是对于:也没有特殊的含义)。
python-re
sed
2条答案
按热度按时间kiz8lqtg1#
我很困惑,因为如果:是一个普通字符,则它后面的
[^\t]
表示该行的开始,这看起来实际上与a:在排队开始之前,这似乎没有任何影响?通常,
^
表示“行的开始”,没错。然而,你在这里看到的是is a character set。在那个上下文中,
^
的意思是“否定的”。所以实际上,
[^\t]
和“行首”一点关系都没有。它的意思是“不是制表符”。(\t
的意思是“制表符”。)总之,此正则表达式:
表示“常值
:
字符,后面跟着任意数目的非定位字符”。ax6ht2ek2#
正则表达式中的
:
没有什么特别之处,它只是匹配一个:
字符。所有特殊字符都在文档中列出(这是Python,因为您使用
python-re
标记;sed
所使用的方言是不同的,但是对于:
也没有特殊的含义)。