問題タブ [negative-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 投票する
1 に答える
130 参照

regex - 否定的な先読みを使用して別の単語の前または後の単語を処理する vbscript 正規表現

ライトのオン/オフを切り替える vbscript に以下のパターンがあります。ケースをキャプチャしますしかし、オールインワン パターンを使用し"turn on the third bedroom light." てケースもキャプチャするエレガントな方法はありますか?"turn on the light in the third bedroom"

別のパターンでケースを分離し、条件付きロジックを使用できることはわかっていますが(light|lite)、まだ正規表現を学習しているため、オールインワンのエレガントなパターンを探していました。

以下のパターンに示すように、どのようなパターンでもケースを除外する必要があることに注意してください"third bedroom closet"。また、vbscript は否定的な後読みをサポートしていないことに注意してください (私が思うに)。

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

regex - Perl 正規表現を使用して真の貪欲でない一致を維持する

次の「tacacatac」という単語から、「cat」と一致させたいと思います。正規表現 c.*?t でこれが得られるはずですが、「c」の最初の出現から始まり、そこから次の「t」が見つかるため、「cacat」と一致すると思います。

(おそらく負の先読みを使用して) 最後の t の直前の c から検索を開始する方法はありますか?

-----編集----- 文字を文字列に置き換えた場合に機能するオプションが必要です

ありがとう。

0 投票する
0 に答える
37 参照

python - 正規表現: キー値解析の否定先読み

次の応答ヘッダーで作業しようとしています:

取得したい:

だから私は正規表現で否定的な先読みを使用しようとしましたが、それを理解できませんでした..:

それは私に与えました:

始めたばかりだけど、物足りない..

誰でも助けることができますか?

ありがとう

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

regex - 正規表現 - 一致したパターンを除外する

以下のパターンを除外する必要があります。

これらのいずれかに一致する正規表現を作成しました。ただし、これら以外はすべて取得したい。私が作成したこの正規表現を逆にする方法がわかりません。

上記のパターンは、リストされているすべての文字列に一致します。今、私はそれを他のすべてのものと一致させたいと思っています。どうすればいいのですか?

検索から、否定的な先読み/振り返りのようなものが必要なようです。でも、よくわかりません。誰かが私を正しい方向に向けることができますか?

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

regex - 正規表現 (否定先読み)

これは、持っているものを除くすべてregexに一致させたいURL/something/something/13-character-group

だから私が作るなら:

/something/something/123456789012これは合うだろう

/something/something/1234567890123これは一致しません

Tnxたくさん!

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

javascript - Javascript Regex Negative Look-ahead (正確に {X} 回の発生を検証する)

これは否定的な先読みと呼ばれていると思います/x(?!y)/が、今日正規表現を始めたばかりなのでわかりません。私は以下を検証しようとしています:

ここに私が欲しいものがあります:

LETTER#LETTER#HYPHEN#DIGIT#DIGIT(正直なところ、それを読みやすい方法で説明する方法がわかりません)。

これらの 5 つのパラメーターのいずれにも余分な値を入力できるようにしたくありません。正確に 2 文字の後にハイフンが続き、その後に 2 桁の数字 (0 ~ 9) が続く必要があります。3文字以上の文字や3桁以上の数字がないことを検証したい.

それぞれの {n} オカレンス マーカーで十分だと思いましたが、 3 つtrue以上の文字/数字がある場合でも返されます ({n} マーカーの意図と同様)。\bしたがって、文字に対して別の単語が見つかり、数字に対して単語以外が見つかった場合に false を返すように、否定先読みを試みまし\Bた。しかし、それもうまくいきませんでした。

否定的な先読みと\b&を削除し、元のもの\Bに固執する場合:

その場合、値の半分は有効ですが、余分な文字/数字を含むものも有効と見なされます。

簡単に言えば、何かが正確 Xに発生していることを確認し、余分な場合は false を返すにはどうすればよいですか? 多分私はNLAの実装を台無しにしています。