問題タブ [pyparsing]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
310 参照

python - Python を使用した文字列内のテキストの解析とグループ化

質問と 2 つの回答の 3 つの部分で構成される一連の短い文字列を解析する必要があります。文字列は一貫した形式に従います。

これは、「answer_option_1 は引用符で囲まれています」「answer_option_2 は引用符で囲まれています」という質問です。

質問の部分と、一重引用符または二重引用符で囲まれた 2 つの回答の選択肢を特定する必要があります。

例:今日の空は何色ですか。「青」か「灰色」
か 「ミシガン州」「オハイオ州」の試合に勝つのはどちらか

Pythonでこれを行うにはどうすればよいですか?

0 投票する
1 に答える
689 参照

python - pyparsingはネストリストではありません...なぜですか?

何らかの理由で、pyparsingは私の文字列のリストをネストしていません:

なぜpyparsingが22+、AKo-ATo、およびKQz(またはそれより深いレイヤー)の周りのリストを作成しないのかわかりません。私は何が欠けていますか?

0 投票する
1 に答える
1172 参照

python - pyparsing を使用して行頭のスペースを一致させる

演習として pyparsing を使用して統合差分ファイルを解析しようとしていますが、うまくいきません。ここに問題を引き起こしている差分ファイルの部分があります:

最初の行は " " で始まり、次に "banana" です。行を解析するための次の式があります。

これは単一行を解析するときに機能しますが、ファイル全体を解析しようとすると、「leaveWhitespace」命令によってパーサーが最後の行の終わりから開始されます。私の例では、「バナナ」を解析した後、次の文字は「\n」(leaveWhitespace のため) であり、パーサーは「」または「+」または「-」と一致させようとするため、エラーがスローされます。

どうすればこれを正しく処理できますか?

0 投票する
2 に答える
291 参照

regex - pyparsing を使用して正規表現のリストを解析する (文字通り)

正規表現のリストを解析して、それぞれが特定のテキスト/文字列で一致する可能性を計算したいと思います...

例えば。長さ 1 の文字列で' ' を見つける[AB]と、約 1/13 になるはずです (大文字のみを考慮して)。

個々の位置/代替を返す汎用正規表現パーサーはありますか? リターンとして位置のリストを取得することを考えています (' ' は ' [AB].A{2}' を生成し[['A','B'],'.',['AA']ます)

問題は、pyparsing による正規表現の解析です。単純な正規表現は問題ありませんが、「代替」繰り返しになると途方に暮れます。「 」のようなネストされた式を解析するのは難しいと思います((A[AB])|(AB))

何かご意見は?

0 投票する
4 に答える
1913 参照

python - Pyparsing: データを解析して .txt ファイル内の特定の値を編集するにはどうすればよいですか?

私のデータは .txt ファイルにあり (いいえ、別の形式に変更することはできません)、次のようになります。

変数名 = 値
何か = この値
youget = the_idea

これまでの私のコードは次のとおりです(Pyparsingの例から取得):

では、特定の変数の特定の値を編集するようにスクリプトに指示するにはどうすればよいでしょうか?
例:
variablename の値を value から new_value に変更したいと考えています。したがって、本質的に変数 = (編集するデータ)。

おそらく、ファイルに直接アクセスして値を new_value に変更して値を変更したくないことを明確にする必要がありますが、データを解析し、変数を見つけてから新しい値を与えたいと考えています。

0 投票する
1 に答える
496 参照

python - pyparsing: 解析されたデータから結果を取得する

を使用して(正確に)いくつかのSQLステートメントを解析しようとしています。データベース名とテーブル テーブルの両方について、識別子を作成しました。CREATE TABLEpyparsing

私はこの解析方法も使用しています:

次の入力の場合:

私は得る:

これらが異なるのはなぜですか?単純なリストとして、最初の方法で出力を取得するにはどうすればよいですか? それらの値を印刷するときにのみ取得します。

0 投票する
2 に答える
2122 参照

python - pyparsing による再帰式

再帰的な (何も囲まれていない) 式が可能な左結合式を実行する方法を理解しようとしています。たとえば、私はやりたい:

1 x 2 x 3結果のような2つの操作を解析し(expr OP expr) OP exprます。

expr無限再帰からの解析を防止しようとすると、次のようなことができます。

しかし、その後、expr OP (expr OR expr)結果が得られます。

左バインディングを強制するにはどうすればよいですか?

編集: については知っていますoperatorPrecedenceが、演算子が"IS" + Optional("NOT")または類似している場合、適切に一致しないようです。

0 投票する
2 に答える
3370 参照

python - Pyparsing: 有効なトークンとしてのスペース

pyparser を使用して、16 進数からテキストへのコンバーターの出力を処理しています。スペースで区切られた 1 行あたり 16 文字が出力されます。16 進値が ASCII 印刷可能文字の場合、その文字が印刷されます。それ以外の場合、コンバーターはピリオド (.) を出力します。

ほとんどの場合、出力は次のようになります。

この行を記述するための私の pyparsing コードは次のとおりです。

これは、16 進数からテキストへのコンバーターが 16 進数値 0x20 に到達し、スペースが出力されるまでは正常に機能します。

その場合、pyparsing は出力されたスペースを無視し、次の行から文字を取得して 16 文字の「クォータ」を作成します。

誰かがスペースで区切られた16文字を期待するようにpyparsingに指示する方法を提案できますか?スペースも有効な文字になる可能性がありますか?

前もって感謝します。J

0 投票する
1 に答える
575 参照

java - テキストファイルのコレクションから特定の値を抽出する方法

たとえば、処理する必要があるテキスト ファイルのコレクションがあるとします (たとえば、特定のラベルを検索して値を抽出するなど)。問題に取り組むための一般的な方法は何ですか?

私もこれを読みました:「Pythonから変数値を取得する」しかし、私が直面しているいくつかのケースには当てはまらないようです( のtab代わりに like が使用されています:

使用する言語に関係なく、問題に取り組むための最も適切な方法を知りたいだけです。

次のようなものがあるとします。

Backup Operatorsの値にアクセス/取得し、その代わりにCOMMERCE/cabackup&を取得できるようにしたいと考えていますCOMMSVR21/sys5erv1c3

どのようにしますか?

私が考えたのは、テキスト ファイル全体、正規表現検索、およびおそらくいくつかの if else ステートメントを読み取ることです。これは効果的ですか?それとも、テキスト ファイルをおそらく何らかの配列に解析して取得するのでしょうか。わからない。

別の例のように、次のように言います。

テキスト ファイルをチェックしPolicy = MaximumPasswordAgeて値を返すにはどうすればよいでしょう45か。

ありがとう!

p/s -- 私はこれを Python (知識がないため、その場で取り上げる) または Java で行っている可能性があります。

pp/s -- スポイラー タグがないことに気付きました。うーん

--

ログの例: ディレクトリ権限のあるログ:

次の別のもの:

これはタブ区切りのものです:

0 投票する
1 に答える
438 参照

python - Using pyparsing to match against a specific ending of a string

How can I build a python pyparsing structure that matches against a particular string ending. For example, suppose I want to find all words that end in 'ing'. The following does NOT work:

ing_ending = Word(alphas) + Literal("ing") + White(); ing_ending.parseString("jumping")

This would be pretty easy to do in python and regex but gives me trouble in pyparsing.