正規表現
Posted: 2009年5月28日(木) 15:31
いつもお世話になっています。
C言語で正規表現を使いたいのです。
regex.hのregexecを使えばできるのはわかったのですが、
肝心の正規表現がよくわかりません。
使用可能文字が0-9 a-z ! ? [ ] _ で、
条件として「_」が2個連続(1個or3個以上はok)は×
[/url]でかこまれたものは×
というものなのですが、
一度で表現してみるもうまくいかず、
わけて表現してみようとしても、ちゃんと判断できず、
困っております。。
以下、試してみた表現です。。
使用可能文字をチェック
"[0-9a-zA-z!\?\[\]_]+"
→コンパイル時点でwarningがでました
[/url]で囲まれるをチェック
"^[.*$]"
→コンパイルはとおりましたが、引数に入力した値をチェックにかけているのですが、
引数に [任意の文字] と指定するとうまく動きませんでした。。
「_」で2連続をチェック
"^_{2}"
→「_」3以上の連続でもひっかかりました。
正しい表現を、どなたか教えてください。
C言語で正規表現を使いたいのです。
regex.hのregexecを使えばできるのはわかったのですが、
肝心の正規表現がよくわかりません。
使用可能文字が0-9 a-z ! ? [ ] _ で、
条件として「_」が2個連続(1個or3個以上はok)は×
[/url]でかこまれたものは×
というものなのですが、
一度で表現してみるもうまくいかず、
わけて表現してみようとしても、ちゃんと判断できず、
困っております。。
以下、試してみた表現です。。
使用可能文字をチェック
"[0-9a-zA-z!\?\[\]_]+"
→コンパイル時点でwarningがでました
[/url]で囲まれるをチェック
"^[.*$]"
→コンパイルはとおりましたが、引数に入力した値をチェックにかけているのですが、
引数に [任意の文字] と指定するとうまく動きませんでした。。
「_」で2連続をチェック
"^_{2}"
→「_」3以上の連続でもひっかかりました。
正しい表現を、どなたか教えてください。