問題タブ [alternation]

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 投票する
1 に答える
989 参照

scala - Scala パーサー コンビネーター: 整数または浮動小数点数のいずれかを解析します

編集:解決済み、以下の「FIX」を参照

数値の複雑さに応じて浮動小数点数または整数を解析するようにスカラ パーサー コンビネーターをセットアップしようとしています。これが私が現在持っているものです:

整数パーサーと浮動小数点パーサーの両方をテストするように scalatest をセットアップしましたが、どちらも機能します。私のテストクラスは次のようになります。

IntegerLiteralFloatLiteralテストの両方が完全に機能します。IntegerLiteralご覧のとおり、数値をint または float として解析できるかどうかに応じて、数値を an または FloatLiteral として解析したいと考えています。テストの最初の行はNumberLiteral機能しますが、2 行目に次のエラーが表示されますjava.lang.RuntimeException: no result when parsing failed。float パーサーは parse できるため、パーサーがこのエラーをスローする理由がわかりません32.3。を使用して数値パーサーで何か間違ったことをしていinteger | floatますか?

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

regex - grep を使用して、テキストの同じ固定長セクション内の 2 つのパターンを取得するにはどうすればよいですか?

grep を使用してファイルから情報を抽出し、関連するオカレンスを関連付けようとしています。たとえば、私のファイルには次の繰り返しパターンが含まれている場合があります。

Info1セクションをgrepしてグラブできるようにしたいInfo2. OR パターン、つまり を使用してみましInfo1\|Info2たが、これはすべてランダムな順序でInfo1grepします。各セクションのとをまとめて取得しInfo2たい。Info1Info2

すべてのセクションは同じ長さです。との間には常に一定数の行がInfo1ありInfo2ます。望ましい出力は次のとおりです。

連続するInfo1/Info2は同じセクションからのものです これを行う方法はありますか?

0 投票する
6 に答える
1100 参照

regex - 正規表現で後続の置換よりも代替を使用する方が速いですか

かなり率直な質問があります。私が働いている場所では、多くの正規表現が使われています。Perl では、テキスト内の一部の文字列を置換および/または削除するために使用されます。

ph最初の置換を行った後、文字列の先頭でのみ置換したい場合があるため、最初と最後の置換を連結できないことを理解しています。ただし、最初と 2 番目の正規表現を交互に$string=~s/(^.+\/|\.shtml)//;組み合わせます。何千ものファイル (+500,000) を処理しているため、どの方法が最も効率的か疑問に思っていました。

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

json - ワイルドカードまたはjqの代替に相当するものを使用して、複数のオブジェクト識別子をフィルタリングするにはどうすればよいですか?

概要

3 つの異なる名前ペイロードオブジェクトを正しく解析し、それらを目的の出力形式に変換する作業中のjqフィルターがあります。問題は、オブジェクト識別子内で代替を表現する方法を見つけることができないため、各オブジェクト パスを明示的に表現する必要があることです。

フィルターをより柔軟にして、データ構造をcontainers下からタイトルがPackages. ただし、ターミナル ノードだけでなく、構造全体が必要です。

私が必要だと思うのは、次のように、オブジェクト識別子を交互またはワイルドカードで表現することです。

  • .capabilities.*.payload?
  • .capabilities.([apk, dpkg, rpm]).payload?

上記のどちらも有効なjq構文ではないことを認識しています。これが質問の理由です。すぐ下に有効な JSON を含むテスト コーパスを含めました。現在の jq フィルターはその下のセクションにリストされています。

最小限の JSON ファイル

これは私のテスト コーパスで、現在のディレクトリにminimum.jsonとして保存されています。

明示的な jq フィルター

これは私の現在のフィルターです。これは機能しますが、オプションの各オブジェクト indentifier-indexを明示的に定義します。

期待される出力

現在の出力 (以下を参照) は正しいです。目標は出力を修正することではなく、フィルターをより柔軟にすることです。

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

javascript - 正規表現で「または」演算子を適切に使用するには?

Javascriptの正規表現を試しています。' ' は 2 つの正規表現の論理和に使用される
ことを理解しています。 正規表現を作成しましたが、「a」または「b」の文字のみを含む文字列を検出したいと考えています。 しかし、試してみると、? 「 」演算子の理解に欠けているものは何ですか? これが私のコードです:|
/^a*|b*$/
/^a*|b*$/.test('c')true
|