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

c++ - C ++で後読みアサーションを使用またはエミュレートする方法は?

文字列(bar)の前に2つの文字列(foo)または(boo)がすぐに続かない検索を実行しようとしています。

例えば

foo=bar一致してはいけません

foo=baz bar一致する必要があります

bar一致する必要があります

boo=bar一致してはいけません

正規表現の背後にある外観はこれに最適だったと思います。(?<!ただし、MSVC ++から使用しようとすると、処理されない例外が発生します。

アサーションは?でサポートされていますか?構文的に違いますか?または、誰かがこの正規表現を作成したり、動作をエミュレートしたりするのを手伝ってくれませんか?

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

java - 先読みと後読みを使用してカスタム境界マッチャーを作成するにはどうすればよいですか?

Scannerを使用して、単語の境界で String を分割したいと考えています。通常、これは次のように行われます。

問題は、「単語」文字の私の定義が標準とは少し異なることです。これは、さらに文字を含めて:[a-zA-Z_0-9]を除外したいためです。したがって、パターンを使用することはできません。_[a-zA-Z0-9#/]\b

だから私は先読みと後読みを使って同じことをしようとしましたが、私が思いついたものはうまくいきませんでした:

これを使用すると、スキャナーはどこにも分割されません。

先読みと後読みを使用してこれを行うことは可能ですか?

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

regex - 正規表現-後読み

私はそのような入力文字列を持っています:

正規表現:

そのような結果を取得したい:1234567890。しかし、それは機能しません。

ただし、次の入力文字列は次のとおりです。

次の正規表現で:

期待どおりの結果が得られます:1234567890。

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

javascript - '。'に一致するJavascript正規表現 '\'が前に付いていない(代替の後ろを見る)

私はjavascriptで(Excelのような)数値フォーマッタ関数を作成しています。「0000.00」や「000.000.000」のようなテンプレートを使用したいのですが、次のようになります。

だから私は「。」と一致する必要があります。'\'が前に付いていません。javascriptには後読みがないので、テンプレートの全体と小数部分を分割するための正規表現は何でしょうか?

残念ながらこれは機能しません:-(

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

ruby - ワイルドカードを使用した正規表現のネガティブルックビハインド

近くに別のテキストブロックがない場合は、テキストを一致させようとしています。たとえば、前にない"bar"場合は一致させたいと思います。この正規表現でネガティブルックビハインドを使用して、直前にない場合は"foo"一致させることができます。"bar""foo"

しかし、私も一致しないのが好き"foo 12345 bar"です。私は試した:

ただし、ワイルドカードと範囲を使用すると、Rubyでは無効な正規表現のように見えます。私は問題について間違って考えていますか?

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

regex - 正の後読みと正の先読みの間の複数の行に一致する正規表現

###と の間にあるものを一致させる必要があります###。今、私の正規表現は「機能します」と思いつきましたが、最初と最後に新しい行でコンテンツを拾い上げ、私の人生を非常に複雑にしています。

これは私の正規表現です:

改行せずに、中身だけを合わせていいのかな。

いくつかのサンプル テキスト:

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

javascript - 後読みせずにJavaScriptでこの正規表現を複製するにはどうすればよいですか?

これがC#での私の正規表現です:

これがJavaScriptで必要になりました。私は正規表現の初心者なので、後読みなしでこれをどのように行うのかわかりません。どんな助けでもいただければ幸いです。

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

python - 条件付き後読みを使用したpython正規表現

最初の出現で始まり@、終わる部分文字列を探しています。文字列の先頭またはスペースの後にある\s必要があります。@

@one bla bla bla @two @three@four #@five

結果:@one, @two, @three@four

私はこの re:((?<=\s)|(?<=^))@[^\s]+で終わります。これは崇高なテキスト 2 では正常に動作しますが、Python では空の文字列を返します。

パイソンコード:

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

regex - 正規表現 - 数字の範囲を周囲に数字がないものと一致させる

だから私はこのようなものを持っています:

\b(0?[1-9]|[1-2][0-9]|3[0-6])\b

これは、一致する数字 1 ~ 36 に対してのみ正常に機能します。しかし、一致しない S36 のようなものを取得する可能性があります。数値の両側にきれいな単語境界があるとは想定できません。

1 から 36 までのいずれかの数字以外の数字と一致するようにしたいと思います。

私はこのようなものがうまくいくと思っていましたが、うまくいきません:

(?<=\D)(0?[1-9]|[1-2][0-9]|3[0-6])(?=\D)

数字の前に数字以外があることを確認するために最初に肯定的な後読みが行われ、数字の後に同じことが当てはまることを確認するために数字の後に肯定的な先読みが行われるはずです。

これを行う正しい方法は何ですか?

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

objective-c - ブロックレベルのタグの前にある XHTML の改行を削除する RegEx

ブロックタグの前に発生する余分な<br />タグを見つけて、他のすべての<br />タグをそのままにしておく正規表現が必要です。

ここに私が探しているテキストがあります:

ただし、次の正規表現を使用する場合:

<br />次のように、最初のタグより後のすべてを選択します。

...それは私が望むものではありません。のみを選択するように式を変更するにはどうすればよい<br id="second"/>ですか?

注: タグを除く すべてのインライン タグ<br />は、この時点より前に削除されるため、要因にはなりません。また、私は Obj-C/Cocoa を使用しているため、これらの派手な PHP 関数をすべて使用することはできません。:)。また、これは有効な XHTML ドキュメントになります。