grep 捕获正则表达式
我正在尝试使用 grep 捕获以下数据:
"\\.xy$" "\\.ab$" "\\.ef\\.hi$"
我有
grep -Eo "((\\\\\.[a-zA-Z]+)){1,2}\\$" file
两个问题:
- 它可以捕获 \\.xy$ 之类的内容,但不能捕获 \\.xy\\.ef$
- 返回的结果末尾有文字 $,为什么?
I am trying to use grep to capture data below:
"\\.xy$" "\\.ab$" "\\.ef\\.hi$"
I have
grep -Eo "((\\\\\.[a-zA-Z]+)){1,2}\\$" file
two problems:
- It can capture things like \\.xy$, but not \\.xy\\.ef$
- the returned results have literal $ at the end, why?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
在美元前面加上一个单个反斜杠:
或者将特殊字符放入方括号中,我发现这样更容易阅读:
Precede the dollar with a single backslash:
Or put the special characters into square brackets, which I find more readable:
你已经双重转义了 $ - 试试这个:
You've double-escaped the $ - try this: