プログラムに次の形式の文字列入力があります。
con*.cc
これを正規表現 con.*.cc で表現したいと思います。
Cプログラム内でこれを行うにはどうすればよいですか? 私が使用できるsedのようなものはありますか?
正規表現の照合にPCREを使用できます。実際の式は、(他の文字列と同様に) char 配列として格納できます。
その正規表現で正確に何をしたいですか?コード内に既にある一連の文字列を検索する場合、正規表現ライブラリを使用する必要があります。C は正規表現をネイティブにサポートしていません。gcc のマニュアルを参照してください。
このページでは、C の POSIX 正規表現サポートを実装する <regex.h> ヘッダーについて説明します。これを使用するには、次のようにします。
#include <sys/types.h>
#include <regex.h>
それらはかなり素晴らしく、操作が簡単ですが、@Chickenchaが別の回答で言ったように、真の正規表現マッチングを行っていないだけで、ファイル名をグロブしただけのように見えます. 誰も持っていなかったので、Cは実際に正規表現をサポートしていることを指摘したいと思いました。
プログラム内から sed を使用します。