質問

い解析コンフィグファイルの新お疲ものはこのように:

[KEY:Value]     
    [SUBKEY:SubValue]

その始まり StreamReader, に変換するオンライン文字列がきっかけになるかもしれないとありの意見には賛成しております。うにしていただきたいと思い、ハンリーダー、助けてくれます。

一つの制限することをLinux/Mono環境1.2.6す。んの最新リリース2.0(Mono)して制限する言語機能にはC#2.0またはC#1.0です。

役に立ちましたか?

解決

いと考えられますが、私はカメラをご使用にならない形式をサポートしています。いすもので、手編集はXMLによって、私の脳傷ついてしまう。:')

てん YAML?

きのXMLではなくすべての痛みや苦しんでいました。で広く使用されているruby地域などで使用されるconfigファイルを用意データベースのデータなど

以下に例を示します

customer:
  name: Orion
  age: 26
  addresses:
    - type: Work
      number: 12
      street: Bob Street
    - type: Home
      number: 15
      street: Secret Road

C#図書館の開館日はこちらで, んな人がyamlはきわめて単純で、"どうしてですか。" :-)

いと思うんですが好ましい発明自分のアドホックフォーマット(対応パーサーバ)

他のヒント

んでほとんどこの正確な問題は、日: この記事 string tokenizingが必要なまさにそのものである.してください定義するトークンのようなものとして:

@"(?&ltlevel>\s) | " +
@"(?&ltterm>[^:\s]) | " +
@"(?&ltseparator>:)"

記事はなかなか良い仕事を説明します。から無料でご利用いただけ食べるまでのトークンとしています。

Protip:のため LL(1)のパーサ (読み:辺)に、トークンを共有できない接頭辞です。の場合 abc としてのトークンできない場合もありますので ace としてのトークン

注意:記事の抜けの文字がその例だけでトイレットペーパーを捨てます。

はありま 他のYAML図書館です。当期純 る研究がなされています。現在では読み込みをサポートすYAMLストリームやテストが行われたWindows用いただけます:standardとexpress。書きサポートを実施しています。

ライブラリーを使用してはほとんど常に好ましくは転がります。こちらはクリスト"あんなことが必要な/ようとは思わなかったことを"ポイント終了までを一口で降下:

  • 逃げます。何をしたい場合は:のキーまたは"の価値とは?
  • 脱出します。
  • Unicode
  • ミックスのタブやスペースの問題はPythonの空白を感書式)
  • 取り扱いの異なる字形
  • 取り扱い書式エラーレポート

のように他の人の考えで、YAMLのようにな最良のベット。

を利用することも可能ですスタック、プッシュ/ポップなアルゴリズムです。このマッチの開閉まることが期待される。

public string check()
    {
        ArrayList tags = getTags();


        int stackSize = tags.Count;

        Stack stack = new Stack(stackSize);

        foreach (string tag in tags)
        {
            if (!tag.Contains('/'))
            {
                stack.push(tag);
            }
            else
            {
                if (!stack.isEmpty())
                {
                    string startTag = stack.pop();
                    startTag = startTag.Substring(1, startTag.Length - 1);
                    string endTag = tag.Substring(2, tag.Length - 2);
                    if (!startTag.Equals(endTag))
                    {
                        return "Fout: geen matchende eindtag";
                    }
                }
                else
                {
                    return "Fout: geen matchende openeningstag";
                }
            }
        }

        if (!stack.isEmpty())
        {
            return "Fout: geen matchende eindtag";
        }            
        return "Xml is valid";
    }

できるのではないでしょうか対応できますので内容を読みとなります。正規表現も良い方法がありました。

するときに基づいており、また以下のXMLベースのコンフィグファイルのとおりであります。純るクラスで読み、情報を格納すが比較的容易になります。が理由ではないことは可能ですか?

@ベルナール: この手の編集XMLるのが面倒なので、構造まで表示でとよく似形式をサポートしています。

その先には良い方法あります。

@Gishu

実際に一度思対応のために逃れた文字を自regex走りやや遅私の手書きトップダウンの再帰構文解析とそのネスト(リサブ項目その親御さん、エラー報告の手書きのパーサでした。

の正規表現したスピードが少し速くってビットの手のパーサがそれをしないエラー報告といいます。一度に追加することになり少し難くない。

また、手書きのパーサがわかりやすい意向です。例えば、ここでは、スニペットのコード:

private static Node ParseNode(TextReader reader)
{
    Node node = new Node();
    int indentation = ParseWhitespace(reader);
    Expect(reader, '[');
    node.Key = ParseTerminatedString(reader, ':');
    node.Value = ParseTerminatedString(reader, ']');
}

にかかわらず貫いて形式、Regexの最速の解析.Rubyで思いもします。

\[KEY:(.*)\] 
\[SUBKEY:(.*)\]

これらの二つがいの価値SubValueけるためのものである。チェックMSDN方一致、正規表現に対する文字列です。

こうべきである自kitty.前Regex日になると思製氷ます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top