問題タブ [negative-lookbehind]

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 に答える
2586 参照

ruby - Ruby の正規表現の否定後読みが機能しないようです

引数パーサーを作成します。文字列を、区切り文字が", "前にある場合を除いて配列に分割したいと考えてい"|"ます。つまり文字列

結果として

私はこの正規表現を使用しようとしています: http://regexhero.net/tester/(?<!\|),で動作しますが、試してみると

ruby では、次のエラーが表示されます。undefined (?...) sequence: /(?<!\|), /

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

regex - 正規表現:3つのセミコロンを含まない行の行末文字を選択する

EditpadLiteで正規表現対応の検索と置換機能を使用しています。私のドキュメントは次のようになります

問題; 各行には4が含まれている必要があります。記号であるため、3行目と6行目では、\nを;\ nに置き換えることにより、行末に追加のセミコロンが必要です。私はもう試した:

正確に3つのセミコロンを含む行が前にない行末文字を選択します。ただし、セミコロンは連続していないため、これは機能しません。これに代わるものはありますか?

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

javascript - Javascript 正規表現: スペース文字が続かない単語を見つける

次のように、後にスペース文字がなく、前に @ がある単語に一致する JavaScript 正規表現が必要です。

@bug - "@bug" を見つけます。後ろにスペースがないためです。

@bug と私 - 「@bug」の後にスペースがあるため、何も見つかりません

@bug および @another - 「@another」のみを検索

@bug と @another と何か - 両方の単語の後にスペースが続くため、何も検出されません。

ヘルプ?追加: 文字列が取得され、FF はその末尾に独自のタグを配置します。基本的に@で始まる最後の単語だけでいいのですが、$(文字列の末尾)は使えません。

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

regex - VBAの正規表現で後読みしますか?

VBA正規表現で否定的および肯定的な後読みを行う方法はありますか?

文字列が「A」で始まる場合は一致させたくないので、現在、パターンの先頭で ^A を実行してから、match(0) の最初の文字を削除しています。明らかに最善の方法ではありません!

regExp オブジェクトを使用しています。

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

php - 正規表現: バックスラッシュの奇数回の連続を避けるための後読み

角かっこ内で一部のタグを使用できるユーザー入力があります。括弧内にあるものを見つけて検証するための正規表現パターンを既に作成しました。

ユーザー入力フィールドでは、開始ブラケット ([) をバックスラッシュでエスケープできます。また、バックスラッシュを別のバックスラッシュ (\) でエスケープできます。開き括弧の前に奇数個の連続するバックスラッシュを避けるために、後読みサブパターンが必要です。

現時点では、次のようなことに対処する必要があります。

正常に動作しますが、問題は、このコードがまだブラケットの前にある連続するバックスラッシュの可能なペアに一致し (それらが隠されている場合でも)、ペアに追加された別の単一のバックスラッシュがあるかどうか (または開始ブラケットに直接) をチェックアウトすることです。 . 可能であれば、後読みグループ内でそれらをすべて回避する必要があります。

例:

私はPHP PCREを使用しています

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

regex - 正規表現を使用してソース コード ツリーをふるいにかけ、関数呼び出しの発生箇所を見つける

VS2010 で一連のソリューション ファイルを開き、関数呼び出しの発生/参照を検索するのではなく、正規表現で grep するだけです。これを 2 つのパスで実行できます。最初に のすべての出現箇所を grep しMyFunction()、次にコメント アウトされている行にあるすべての出現箇所を削除します (注: これはブロック コメントを処理しないことを認識しており、今のところは問題ありません)。 .

これを行うためのより良い方法があるかどうかを確認したかったのですが、regular-expressions.infoには、正および負の先読みと後読みに関する興味深いチュートリアルがあります。

私のお気に入りのオンラインregex evaluatorを使用して、次の例に取り組みました。

しかし見事に失敗。私がやろうとしていることが否定的な後読みで可能かどうかさえわかりません。これが私がうまくいくと思ったものです:

しかし、それは一致しません... 誰かがここで私を啓発できますか?

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

regex - 正規表現-否定的な先読み

Perlの負の先読み正規表現を使用して、ターゲットの文字列から特定の文字列を除外しようとしています。アドバイスをお願いします。

-sm、-sp、または-saを含まない文字列を取得しようとしました。

正規表現:

入力

期待される出力:

ただし、この実際の出力は次のとおりです。

私を助けてください。

ps: 結果を視覚化するために正規表現コーチを使用しました。

0 投票する
5 に答える
1443 参照

regex - Perl正規表現の否定後読み

正規表現処理で先読み読みに頭を悩ませようとしています。

PID などをリストしたファイルがあるとします。PID 形式\d{1,5}に一致する正規表現を作成したいのですが、特定の PID も除外されます。

この正規表現では、(?<!TO_EXCLUDE)コンストラクトを使用して、否定的な後読みを使用して、数字の一致と除外を組み合わせようとしています。これはうまくいきません。

サンプルファイル:

誰かが私を正しい方向に向けることができれば幸いです。

また、この否定的な後読みがこのシナリオで最も効率的かどうかを調べることにも興味があります。

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

regex - 単語に一致するが、コメントには一致しない

単語を一致させようとしていますが、前にコメントが付いている場合は一致し/*ません (後にはありません*/)。これまでのところ、これを達成するために否定的な先読みアサーションを使用しようとしましたが、うまくいきませんでした。これは、否定的な先読みまたは否定的な後読みアサーションで可能になるのでしょうか、それとも無駄な努力でしょうか?

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

javascript - JavascriptRegex-偽のルックビハインドでの予期しない動作

複数のソースからのツイートを演習として照合するウィジェットをコーディングしようとしています(ここに似たようなものがありますが、a)そこで提供されるリストオプションは私のリストをロードしませんでした、b)それは便利な学習演習です!)。その一環として、Twitterハンドル(「@」の後に文字が続く)をユーザーのTwitterページへのリンクに置き換える正規表現を作成したいと思いました。ただし、たとえば、ツイート内の電子メールアドレスの誤検知は望ましくありませんでした。

したがって、たとえば、交換は送信する必要があります

この質問に導かれて、Javascriptでネガティブな後読みを複製する何らかの方法が必要であることを示唆し、次のコードを作成しました。

ただし、三項演算子の最後の部分がトリガーされる場合、$0には「@」記号が含まれます。これは私にとっては予想外でした-「@」は括弧で囲まれていなかったので、$ 0は「([^ \ s、。;:] *)」と一致すると予想しました-つまり、Twitterユーザーのユーザー名(後、なし、「@」)。$ 0.substring(1)を使用することで目的の機能を取得できますが、理解を深めたいと思います。

誰かが私が誤解していることを指摘してもらえますか?私は正規表現にまったく慣れておらず、Javascriptで記述したことも、ネガティブな後読みを使用したこともありません。