問題タブ [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.

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

java - オプションの区切り文字を使用した正規表現キャプチャグループ

単純な問題のように思えますが、キャプチャグループを抽出し、オプションで区切り文字列でグループを制限する必要があります。

以下の例では、「cd」の区切り文字列を提供し、すべての場合で「ab」を返すことを期待しています:「ab」、「abcd」、および「abcdefg」

コードは次のとおりです。

出力は次のとおりです。

先読みは機能するかもしれないと思いましたが、オプションの先読み(つまり、0個以上のインスタンス)はないと思います。

0 投票する
3 に答える
293 参照

javascript - 正規表現で先読みを使用して、文字がない場合に一致させるにはどうすればよいですか?

関数内に正規表現のセットがあり、かなりうまく機能していますが、失敗する新しいパターンに遭遇しました。文字列に文字がなくなると、この関数は失敗します。たとえば、私の関数は次のテキストと一致して置き換えます: " 1 m is equivalent to..."は" 1 meter is equivalent to..."になりますが、失敗します: " There are 100 cm in 1 m"

私はAS3を使用しています。これは、JavaScriptとほぼ同等の正規表現エンジンを備えていると思います。現在のパターンは次のとおりです。

パターンと置換文字列のリストをループするので、リストに別のパターンを簡単に追加できました。私は試した:

と:

そして、両方とも失敗しました。基本的な知識が不足しています。「他のキャラクターがいないときに先読みして一致させる」という言い方を知っておく必要があると思います。

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

html - PCRE: (+) と (-) 先読み/後読み (正規表現)

次の文字列があります。

そして、私は抽出したい:

  • CAR123
  • 車は赤い - 速い

私がこれまでに持っているものは次のとおりです。

しかし、文字列の境界にない場合に、正と負の先読みと後読みを設定する方法がわかりません。

確かに、それは HTML です...前に聞いたことがあります... 「正規表現で html を解析しないでください...」 これ以上複雑なことは必要ありません。

助けていただければ幸いです。

ありがとう!

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

javascript - javascriptの正規表現先読みに関する問題

スペースで区切られたすべての単語が3単語文字より長い場合にのみ一致させようとしています(3単語文字は必須です。abc*は正しいですが、ab *は正しくありません)。これは私のテストです:

すべてのテキストが一致しますが、一致するものはないと思います。多分私は先読みがどのように機能するかについていくつかの基本を誤解しています。

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

java - この先読みアサーションが Java で機能しないのはなぜですか?

私は Perl のバックグラウンドを持っており、次のようなことを行って、文字列の先頭の数字を照合し、その場で 1 ずつインクリメントを実行することに慣れています。

私の Java に関する知識は限られているため、物事はそれほど簡潔ではありません。

ここでは正規表現は一致しませんが、Perl では一致しました。

ここで何が間違っていますか?

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

python - Python の先読みアサーションを持つ 2 つの非常に近い正規表現 - re.split() の動作が異なるのはなぜですか?

OPに次の文字列があるこの質問に答えようとしていました:

それを分割して、次のリストを取得したいと考えています。

正規表現で単純な先読みアサーションを使用して解決しようとしました(?=path:)。まあ、それはうまくいきませんでした:

ただし、この回答では、回答者は先読みアサーションの前に空白を付けることで機能させました。

正規表現が空白で機能したのはなぜですか? 空白がないと機能しないのはなぜですか?

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

regex - 正規表現は整数の周りの引用符を削除しますか?

文字列"\"Bob \ "、\" 1 \ "、\" Mary \ "、\"2\""があるとします。文字ではなく、数字の周りの引用符のみを削除することは可能ですか?先読み/後読みを試しましたが、後読みの長さが可変ではないため、問題を解決する方法がわかりません。ありがとう。

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

javascript - 正規表現について学びますか?

私の質問の1つに対する回答で、誰かが次のように投稿しました。

私はで完全に迷子になってい/(;)(?![";"])/ます。私にはランダムなシンボルの束のように見えます:(。

正規表現の構文について詳しくは、どこで確認できますか?

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

python - 肯定的な先読みアサーションによって一致した空白は、Python 正規表現の最終的に一致した文字列にどのように表示されますか?

この質問に答えようとして、次の Python 正規表現を作成eggして、URL の一部ではない数字が後に続く任意の部分文字列に一致するようにしましたhttp://

次に、次の文字列に適用しました。

結果は次のとおりです。

正規表現は他の多くの問題では正しくありませんが、さらにバグが 1 つあります。結果に空白が表示されるのはなぜですか? のような先読みアサーションを使用したので(?:\s...)、結果の文字列から取り出すべきではありませんか?

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

c - Cで書かれたFORTHのような言語インタプリタでLOOPを実装する方法

私はCで単純なスタックベースの言語を書いていて、ある種のループ構造や先読みシンボルを実装する方法を考えていました。このページのコードは少し長いので(200行以上)、GitHubリポジトリに配置しました。

編集:メインプログラムはファイルにありますstack.c

words編集:コードは、FORTHのように入力を取り込むだけです。scanf左から右に使用して動作します。次に、一連のifsとstrcmpsを使用して何をするかを決定します。それだけです。