2011-08-11 17 views
0

私は自分のMySQLクエリを作成できるようにしています。心配しないでください、私はすべてのSQLインジェクションなどを考慮しています。MySQLクエリのカッコを検証する

私は何をしたいのですが、そのクエリを作成しながら、彼らが使用する括弧を検証している...

だから、彼らは彼らのクエリは次のようになります言うことができます:

$string = '1 AND (2 OR 3) AND (4 AND (5 OR 6)'; 

は、彼らがなかったかを参照してください。番号4の前にかっこを閉じますか?正しく追加されていない開いているか閉じている括弧を検証するために、これを実行できる正規表現はありますか?

私は遊んでいてどこからでも検索してきましたが、この作業をどのようにするかわかりません。

+2

http://stackoverflow.com/questions/562606/regex-for-checking-if-a-string-has-mismatched-parentheses:ここで私はあなたのリンクをクリックしてから見つかったソリューションです –

答えて

0

ありがとう@ジャヤンシャ!

$string = '1 AND (2 OR 3) AND (4 AND (5 OR 6)'; 

if (!preg_match("/^((?:[^()]|\((?1)\))*+)$/", $string, $matches)) 
    echo 'Your parentheses are wrong!';