查找正则表达式的正则表达式是什么?

8
有没有查找包含正则表达式的文件的代码?我认为你可以有两种不同的风格,一种是BRE,另一种是ERE。
你会认为某种测试套件会有类似于isRegex()测试的东西。有人有任何代码吗?当然要寻找全面的东西。
我看到这里讨论过但没有看到任何实用的回应。如果我想grep任何包含正则表达式的文件,可能被典型的//限制,我该怎么做?

3个回答

18

3
超越
egrep '/.+/' file

你正在看一个非常复杂的练习。

1

如果您特别寻找只包含或大多数为正则表达式的文件,则统计数据应该告诉您某个文件包含更多该语法比其他文件。因此,您可以定义一组指标,并将它们的分数组合成一个度量,以评分文件的可能性。选择一个截止点并让它运行。一些指标:

  • 存在多个[0-9]、[A-Z]、+等
  • 存在/foo/
  • 不是标准代码文件
  • 压缩性较差(有点靠不住,但正则表达式语法的紧凑性直观上比普通单词更难压缩)
  • 等等

但如果这只是一次性的,那么您最好使用 Chaos's answer并手动削减结果。您是否在寻找正则表达式中的特定内容,这样可能更容易发现?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接