如何grep以字符开头和结尾的东西
ABC-0
ABC-1
ABC-10
ABC-20
Run Code Online (Sandbox Code Playgroud)
我想要为ABC-0和ABC-1 grep -v
Joã*_*ela 10
如果您尝试匹配单词使用\b作为单词分隔符,如下所示:
\ B [A-ZA-Z] - \d +\b
从这个参考:
\b- 如果字符串中的第一个和/或最后一个字符匹配,则在字符(任何匹配的字符\w)和非字符(任何与[^\w]或匹配的内容)之间的位置 匹配,\W以及在字符串的开头和/或结尾处匹配是字符.
目前尚不清楚你的意思.如果你想在开头有一个字符,在结尾有两位数,你可以使用
^[A-Za-z].*\d\d$
Run Code Online (Sandbox Code Playgroud)
如果您只想要一个连字符,然后只需一个数字,请使用:
^[A-Za-z].*-\d$
Run Code Online (Sandbox Code Playgroud)
如果您不关心有多少位数(一个或多个),但必须有连字符,请使用:
^[A-Za-z].*-\d+$
Run Code Online (Sandbox Code Playgroud)
如果这些都不是您想要的,请提供更多信息......您的问题的第一句话与其余部分并不完全吻合.
对于你的例子
egrep -v "^(ABC)-(0|1)$"
Run Code Online (Sandbox Code Playgroud)
是答案。对于常见情况,请查看 Jon 的回答
^标志着模式的开始,$结束。|方法or