問題タブ [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 に答える
85 参照

c# - パターンを含まない文字列に一致させる方法

特定のテンプレートを含まないすべての文字列に一致する正規表現テンプレートを作成しようとしています。

例えば:

一致:

しかし、次のものには一致しません:

次のようなものが含まれているためです: ([AZ][az]+\s?){3}

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

regex - メモ帳++で間にあるものを含め、別の文字列が先行していないすべての文字列を検索します

単純な否定後読みを使用することを知っています

second wordこれは見つかりません

期待どおりに一致します

ここでも一致しますが、一致しないはずです

要件を満たすために正規表現を変更するにはどうすればよいですか?

試してみ#(?<!first word).*second word#sましたが、常に一致します。

notepad ++で多くのファイルを検索するには、これが必要です

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

php - 文字列の途中で正規表現の否定一致

これらの文字列があります(すべての行を個別にチェックします):

admin今、私はで始まり、で終わらないものに一致させたいEx(大文字と小文字を区別しない)

したがって、正規表現を適用した後、一致する必要があります:

私の現在の正規表現/^admin[a-z]+(?!ex)$/giadmin

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

javascript - 単語のリストを指定して、単語を順番に強力なタグで文字列にラップします

文字列のリストに一致させたい入力がありますが、各入力単語を1行ごとに1回一致させたいと考えています。

いえ

明確にするために、私が求めているのは次のことです。

  1. 文字列内の各単語を各入力単語でテストします
  2. 単語が見つかったら、強力なタグでラップし、入力テストからその単語を削除します
  3. 次の単語などに進みます

私はこれをすべて否定的な後読みで実行しようとしましたが、javascript はこれを処理できないようであり、私が見つけることができるすべての回避策は、単語のコレクションでは機能しないか、テストする文字列を逆にして否定的な先読みを使用する必要があります。50 ~ 500 個の文字列に対してこのテストを実行する予定であるため、これらのソリューションのいずれも理想的ではないと思います。

Javascript:負の後読みと同等ですか?

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

regex - Geanyで正規表現検索の否定後読みは可能ですか?

否定的なアサーションに関する Geany のドキュメントは、それが可能であるように見えます。

参考までに、これは機能し、結果が得られます。

しかし、Geany (v 1.24.1) から起動した場合、同じ正規表現、または否定的な後読みを持つ正規表現は結果をもたらしません。

ここに画像の説明を入力

問題はどこだ?ドキュメントは間違っていますか?

精度:このトピック、ネガティブ ルック ビハインドを回避する方法についてではなく、標準のPCREネガティブ ルック ビハインドを行う方法についてです。

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

.net - .NET の負の後読み正規表現が期待どおりに機能しない

文字列のイニシャル「Wrs」を分離したい

これは私が使用している正規表現です:

イニシャル「Wrs」の後には、少なくとも 2 つのスペースが続き、その後に html の区切りが必要<BR>です。また、イニシャル「Wrs」の前には少なくとも 2 つのスペースが必要であり、HTML<BR>タグを前に置いてはなりません。

残念ながら、上記の例では、前の<BR>タグを使用しても、イニシャルの肯定的な一致がまだあります。理由がわかりません。なぜなら、ポジティブな先読みが期待どおりに機能しているように見えるからです。入力文字列から2 番目のタグまたはその一部を削除する<BR>と、一致するものが見つかりません。

また、負の後読みの代わりに正の後読みを使用して、それが何をするかを確認してみましたが、期待どおりに機能します。この場合、肯定的および否定的なルックアラウンドは同じルールでは機能しないようです。

私が間違っていることは何か分かりますか?