regex - 正则表达式在文件中搜索一组括号,其中包含八个字符,全为 1 或 0,至少有一个 1?
问题描述
我正在尝试在文件中搜索一组括号,其中包含八个字符,全为 1 或 0,至少有一个 1。我目前正在使用下面的正则表达式,枚举所有可能的此类括号集,即强制它. 有一个更好的方法吗?
我的正则表达式:
(11111110)|(11111101)|(11111100)|(11111011)|(11111010)|(11111001)|(11111000)|
...|(11111111)
等
解决方案
利用
grep -oP '\((?=[01]{8}\))0*1[10]*\)' file
请参阅正则表达式演示。
细节
-o
- 输出匹配而不是匹配行P
- 启用 PCRE 正则表达式引擎
图案
\(
- 一个(
字符(?=[01]{8}\))
- 需要八个0
或1
最多一个字符的正向前瞻)
0*
- 0+ 个零1
- 一个1
字符[10]*
- 0 个或多个零或一\)
- 一个)
。
推荐阅读
- python - gschemas.compiled 架构是特定的(我可以将它与我的 python 库一起提供)吗?
- php - 如何在 PHP 中的表单输入字段旁边显示单个错误消息?
- mysql - 选择确切用户之间的对话(按用户 ID)
- html - 图片没有出现在网站上。已检查资源管理器路径
- python - 并排打印值
- model - 如何使用强化学习模型 MDP Q-learning?
- ffmpeg - 在 ffmpeg 命令中使用 anullsrc
- android - 如何更新 baseAdapter 数据?
- bash - Bash找不到文件
- javascript - 使用带有过滤器的 React dangerouslySetInnerHTML 动态附加 SVG 内容在 Chrome 中不起作用