8

正規表現を含むファイルを見つけるためのコードを持っている人はいますか? 1 つは BRE 用で、もう 1 つは ERE 用です。

ある種のテストスイートには isRegex() テストのようなものがあると思うでしょう。誰でもコードを取得できますか? もちろん、包括的なものを探しています。

これはここで議論されたようですが、実際的な反応は見られませんでした。おそらく典型的な // で区切られた、正規表現を含むファイルを grep したい場合、どうすればよいでしょうか?

4

3 に答える 3

18

正規表現自体は正規言語ではありません。手がかりは、括弧や角括弧など、バランスが取れている必要があることです。

正規表現自体は文脈自由文法で記述でき、再帰降下パーサーで解析できます。

于 2009-03-23T20:37:06.000 に答える
3

超えて

egrep '/.+/' file

あなたは本当に複雑な演習を見ています。

于 2009-03-23T20:33:05.167 に答える
1

正規表現のみまたはほとんどが正規表現を含むファイルを特に探している場合、統計は、特定のファイルに他のファイルよりも多くの構文が含まれていることを示しているはずです。したがって、一連の指標を定義し、それらのスコアを組み合わせて、関心のある可能性が高いファイルをスコアリングするメトリックを作成できます。カットオフを選び、手放します。いくつかの指標:

  • [0-9]、[AZ]、+などが複数存在する
  • /foo/の存在
  • 標準のコードファイルではありません
  • 圧縮性が低い(危険ですが、正規表現文法のコンパクトさは、通常の単語よりも直感的に圧縮するのが難しいでしょう)

しかし、これが1回限りの場合は、 Chaosの回答を使用して、手動で結果を比較するのがおそらく最善です。あなたが探している正規表現に特に何かありますか?それは見つけやすいかもしれませんか?

于 2009-03-23T20:53:01.313 に答える