regex - grep 正则表达式,用于以特定长度的两个字符开头的字符串
问题描述
我想显示一个a7
长度为 32 个字母数字字符的字符串。我已经尝试了各种我希望工作的正则表达式,但它们似乎没有。这是grep
在 Ubuntu 上使用的。
如果我只是使用grep <file> -e 'a9'
它会显示字符串,但是当尝试根据第一个字符a7
和 32 的长度过滤它时,grep <file> -e '/a7.{32}$'
什么都不返回。这个表达式有什么问题使它不起作用吗?
解决方案
如果长度是 32,那么你只需要30个字符,而不是32:
grep <file> -e '/a7\w\{30\}$'
我将点更改为\w
(word char) 因为你说你想要字母数字字符。更严格地说,使用'/a7[a-zA-Z0-9]\{30\}$'
而不是\w
,其中包括下划线字符(尽管对您来说可能无关紧要)。
此外,您必须转义大括号。
推荐阅读
- azure-pipelines-build-task - 使用 VS2019 和 TFS2018 vnext 构建系统
- sql-server - 基于用户/角色组合的 SQL 过滤结果
- python-3.x - MNIST 数据设置批处理
- css - 仅在 Windows 上运行时显示 css
- android - 如何检查后台活动堆栈中的实例并删除其中一个活动
- constraints - 如何为只需要随机化 50% 数据包的事务类编写约束?
- api - 如何将 time.Time 作为 API body raw
- java - 如何测试请求是否增加了指标,而在 Vert.x 中没有得到任何响应?
- c# - .Net Standard 上的 Log4Net 没有用于在没有存储库的情况下获取记录器的版本
- windows - 如何创建 Python GTK3 应用程序的分发?