非常に大きなCプロジェクトをリファクタリングしているので、特定のプログラマーが作成したコードの一部を探す必要があります。 幸いにも、このプロジェクトに携わっているすべての人は、電子メールアドレスを標準のCスタイルのコメントで使用して自分のコードをマークします。regex:2つの文字列の間のテキストを特定の単語に一致するテキストで抽出する
これはコマンドラインのgrepで簡単に達成できると言えるかもしれませんが、これは私の目標ではありません。このコメントを削除するか、他のテキストに置き換えてregexを唯一の解決策にする必要があります。
Ex。 this postから
/*********************************************
*
* ... some text ....
*
* author: [email protected]
*
*********************************************/
私は、Cスタイルのコメントを検索するには、右の式が見つかりました:
\/\*(\*(?!\/)|[^*])*\*\/
しかし、それは十分ではありません!私は特定の電子メールアドレスを含むコメントだけが必要です。幸いにも、私が探している電子メールアドレスのドメインは、プロジェクト全体で一意であるように見えるので、これにより簡単になります。私はいくつかの肯定先読みアサーションを使用しなければならないと思います
は、私はこの1つ試してみた:
(\/\*)(\*(?!\/)|[^*](?=.*domain.com))*(\*\/)
を、それは実行されません! アドバイスはありますか?あなたが使用することができます
[ '\/\ * [^ *] *(:??!\ *(\ /)[^ *] *)* @ドメイン\ .COM [^ *] *(?:\ *(?! \ /)[^ *] *)* \ * \/'](https://regex101.com/r/nW8uP2/1)? –
'\/\ *。* author:。* @ domain \ .com。*?\ * \ /'は一致する必要があります。 – Saleem
@Saleemは、[それは炊きます](https://regex101.com/r/mV2bU2/1)、 'に依存しないでください。*'あなたはマークアップされたテキスト内の一致を扱うとき。あなたが正しいWiktorStribiż[email protected] –