問題タブ [lookahead]
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.
c# - 単一文字の区切り文字を使用しない RegEx マッチング
Medicare Eligibility EDI Example Responsesは、私が一致させようとしているものです。
次のような文字列があります。
次のような一致のセットが必要です。
私は一日中これに対処してきましたが、許容できるマッチング シナリオが得られないようです。forループを使用して手続き的にプログラムし、何かわからない場合はコロンのインデックスを見つけようとしています。
否定先読みを使用してみましたが、どこにも行きません。これは C# であり、テスト中にこのテスター(.Net) を使用しています。また、Regex Coach (非 .Net) も使用しています。
私はこれを使ってみました:
ただし、それは「LN:」、「FN:」などのキーとそのコロンのみに一致します。
私が使用する場合:
次の一致する 2 文字のキーとコロンも消費するため、他のすべてのキーと値のペアのみが一致します。
.Net で RegEx を使用してこれらを正しく一致させる方法はありますか? キーが常に大文字であるとは限りません。数字を含めることもできますが、常に 2 文字の後にコロンが続きます。
私が得ることができる助けを前もって感謝します。
regex - 正規表現: AND 演算子はありますか?
明らかに、|
(パイプ?) を使用して を表すことができますが、同様OR
に表す方法はありますか?AND
具体的には、特定のフレーズをすべて含むテキストの段落を特定の順序で一致させたいと考えています。
regex - すべてゼロにすることはできない可変長の数字の文字列に一致する正規表現が必要です
フォームの入力を検証する必要があります。入力は 1 ~ 19 桁の数字であると予想しています。入力はゼロから始めることもできます。ただし、それらがすべてゼロではないことを検証したいと思います。入力が数値であり、1 から 19 の数字であることを保証する正規表現があります。
しかし、文字列全体がすべてゼロではないというチェックを含める方法がわかりません。私はこれを試しました
しかし、可変数のゼロを許可しているため、0000000000000000001 で失敗します。
文字列全体がゼロでないことを確認するにはどうすればよいですか?
ありがとう。
ASP.NET RegularExpressionValidator でこれを実行しようとしているので、単一の式を望んでいました。他にも選択肢があるので、これができなくても仕方ありません。
c++ - boost:regexの先読みで「Repeats」を使用することはできませんか?
たとえば、ブロックにネストされたC++コードでいくつかの変数を抽出しようとしています。
「DEL_TYPE_NONE」
「DEL_TYPE_DONE」
「 DEL_TYPE_WAIT」と一致させたい
このようにパターンを作成しました
。std::stringpat( "(?<= ^ [\\ t]?)[A-Z0-9 _] +(?=、$)");
しかし、コンパイラがパターンの読み取りに疲れていると、エラーメッセージが表示され続けます。
わかりませんが問題ありますか?\\tの後にマークを付け
ます マークを付けると、コンパイルされて「DEL_TYPE_WAIT」
のみが検索さ
れます。先読みでリピートを使用できないのはなぜですか。plzは私がここで完全に失われているのを助けます;(
ありがとうございました
javascript - Javascriptは正規表現を使用して分割されません
この質問を書き始めてから、私は自分が持っているすべての質問に対する答えを理解したと思いますが、他の人に役立つかもしれないし、より明確にすることが役立つかもしれないので、とにかく投稿したいと思いました。
javascript関数splitを使用して、先読みで正規表現を使用しようとしていました。matchを呼び出したときに一致が見つかったのに、何らかの理由で文字列が分割されていませんでした。もともと、問題は正規表現で先読みを使用することによるものだと思っていました。簡単な例を次に示します。
動作しません:
作品:
問題は、分割された例では、渡された文字列が正規表現として解釈されていなかったことであると思われます。引用符の代わりにスラッシュを使用すると、問題が解決するようです。
私は次のばかげた見た目の例で私の理論を確認しました:
分割関数が正規表現を持っていないのに、match関数が正規表現を持っていると仮定するのは奇妙だと思う人はいますか?
parsing - javacc parseException... 先読みの問題?
javacc で非常に単純な文法のパーサーを作成しています。まとまり始めていますが、現時点ではこのエラーに完全に行き詰まっています:
問題の入力行はz = y + z + 5
問題を引き起こしているのは、varDecl() から呼び出される式です。
式は次のようになります。
このエラーが発生する理由がわかりません。洞察をいただければ幸いです。
regex - 正規表現を使用した文字列の否定
正規表現で文字列の否定を行うことは可能ですか? string を含まないすべての文字列に一致させる必要があります".."
。^[^\.]*$
を含まないすべての文字列に一致させるために使用できることはわかっています"."
が、複数の文字に一致させる必要があります。".."
を含む文字列と単純に一致させ、一致の戻り値を否定して同じ結果を得ることができることは知っていますが、それが可能かどうか疑問に思いました。
regex - 正規表現で正と負の条件を組み合わせるにはどうすればよいですか?
私は正規表現にかなり慣れていないので、助けが必要です。Perlで正規表現を使用していくつかの行をフィルタリングする必要があります。正規表現を別の関数に渡すので、1行で実行する必要があります。
"too long"
を含み、で始まらない行のみを選択したい"SKIPPING"
これが私のテスト文字列です:
成熟度が長すぎるので
このボンドをスキップする成熟度が長すぎるのでこのボンドをスキップする成熟度が長すぎるので
このボンドを平手打ちするこの
成熟度が長すぎるこんにちは
これは長すぎる
こんにちは
正規表現ルールは、「長すぎる」で次のように一致する必要があります。
成熟度が長すぎるのでこの結合をスキップする成熟度が長すぎるので
この結合を平手打ち
こんにちはこの成熟度が長すぎる
これは長すぎる
そしてそれはスキップする必要があります:
「こんにちは」が含まれていないため「長すぎます」
「満期が長すぎるためこの債券をスキップします」が含まれていないため「スキップ」
python - ジェネレーターでの先読みの使用
文字列を形式(トークンの種類、トークンの値)のタプルにトークン化するジェネレーター ベースのスキャナーを Python に実装しました。
印刷します
次のタスクは、トークン ストリームの解析を意味します。そのためには、ポインターを先に動かさずに、現在のアイテムから 1 つ先のアイテムを参照できるようにする必要があります。イテレーターとジェネレーターはアイテムの完全なシーケンスを一度に提供するのではなく、必要に応じて各アイテムを提供するという事実は、次のアイテム__next__()
が呼び出されない限り、リストと比較して先読みを少しトリッキーにします。
ジェネレーターベースの先読みの簡単な実装はどのようになりますか? 現在、ジェネレーターからリストを作成することを意味する回避策を使用しています。
先読みは、次のようなもので簡単に実装できます。
もちろん、これだけでうまくいきます。scan()
しかし、それを考えると、私の 2 番目の疑問が生じます。そもそもジェネレーターを作成する意味は本当にあるのでしょうか?