我有以下示例行:
a_a
b_c
如何(使用grep
/egrep
)匹配第一个字母不等于最后一个字母的行?我已尝试以下操作,但这似乎无法正常工作。
egrep ([ab])_[^\1]
对于我的用例来说,使用 egrep -v
或逆正则表达式(匹配除第一个字母等于最后一个字母之外的所有内容)是不可能的。
最佳答案
使用小组比赛。
您可以使用第一个字符创建一个组,然后将组 (\1
) 放在末尾。
egrep '^(.).*\1$'
相反:
pcregrep '^(.).*((?!\1).)+$'
关于正则表达式:匹配除反向引用之外的所有内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33318911/