############################################################## json モジュール (2) ( json__formulaParser.py ) ############################################################## ========================================================= 数式処理 json5 parser コマンド ========================================================= * json5にて、 :red:`数式処理` をできるようにしたpython json5 parser. | --------------------------------------------------------- ルール --------------------------------------------------------- * 文字列を与えた際は、常に、try する. - 一方で、普通の文字列との区別がつかないので、エラーはでない. - エラーをだすには オプショナル引数として、"verbose=True" を与える. * または、数式は文字式で与え、文字式内にバッククォートで囲まれた領域を持つものとする - formula_mark=" ` "として与える. - :red:`" ` (数式) ` "` という構成. - バッククォート前後の空白は許すが、空白以外があると感知されない. - 正規表現的には、 r"\\s*`([\\s\\S]+)`\\s*" - 引数のexpr_fmlで正規表現を与えれば、 :blue:`変更も可能` . * 変数は"変数マークをつけた語"で記載.(e.g. :red:`${...}` :ShellScript 環境変数 -like) - 前後での空白は許すが、括弧内や$マークとの間の空白は許さない - {}はあってもなくてもよい. - 正規表現例(@のとき): "@\\{\*[varname]\\}\*\\s\*" ( [varname] は登録変数名、総当りで検索. ) * その他、空白は許されるはず. * 変数名に :red:`正規表現でエスケープが必要となる文字` を使用する際は注意( "."など.) | --------------------------------------------------------- parser 関数( コード ) --------------------------------------------------------- .. literalinclude:: pyt/json__formulaParser.py :language: python | .. literalinclude:: out/stdout2.out | --------------------------------------------------------- json サンプル --------------------------------------------------------- .. literalinclude:: cnf/sample.json