問題タブ [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.
c# - 特定の文字が前にない場合にのみ、文字列の一部を一致させるにはどうすればよいですか?
文字列が「SIGSEC」でない限り、「PRI」または「SEC」で終わる長さ 6 文字の文字列に一致させるために、次の正規表現パターンを作成しました。たとえば、ABCPRI、XYZPRI、ABCSEC、および XYZSEC を照合したいが、SIGSEC は照合したくない。
これは非常によく似た動作をします ("SINSEC" を渡すと、"NSEC" で部分一致が返されます) が、現在の形式では良い感じがしません。また、後で「SIG」以外に除外を追加する必要があるかもしれませんが、これはおそらくあまりうまくスケーリングできないことに気付くでしょう。何か案は?
ところで、私は C# で System.Text.RegularExpressions.Regex.Match() を使用しています
ありがとう、リッチ
c# - 理解できない正規表現の問題 (負の後読み)
正規表現でこれを行うにはどうすればよいですか?
この文字列に一致させたい:-myString
しかし、私はこの文字列に一致させたくありません-myString
:--myString
もちろん、myString は何でも構いません。
それは可能ですか?
編集:
質問を投稿してから、これまでに得た情報をもう少し詳しく説明します。
この正規表現は 3 つの一致を返します:
-string1
、-
および-string2
-string1
理想的には、一致したものだけを返してほしい
regex - 文字列を照合するときに、正規表現でエスケープされた引用符を無視するにはどうすればよいですか?
私はすべてに一致する正規表現を書き込もうとしていますが、エスケープされていないアポストロフィです。次のことを考慮してください。
私の目標は、その文字列部分に本質的に一致する正規表現を作成することです。私は次のようなことを考えています
単純な文字列と一致させるために、しかし私は、そのアポストロフィの前にバックスラッシュがないことを確認するために、そのアポストロフィにネガティブルックビハインドを適用する方法を見つけようとしています...
何か案は?
-JMT
ruby - Ruby 1.9 でのブラックスラッシュの否定先読み
Ruby 1.9でバックスラッシュが前にないすべての「[」または「]」に一致させたい:
と
しかし、「指定されていない繰り返し演算子のターゲット」が表示されます
regex - ネガティブルックビハインドをサポートするGNUgrepに相当するものを取得する最も簡単な方法は何ですか?
ネストされたサブディレクトリ内の一連のファイルをgrepして、正規表現の一致を探しています。私の正規表現には、ネガティブな後読みが必要です。
Perlにはネガティブな後読みがありますが、私が知る限り、GNUgrepはネガティブな後読みをサポートしていません。
ネガティブルックビハインドをサポートするGNUgrepに相当するものを取得する最も簡単な方法は何ですか?
(Perlで自分のミニgrepを書くことはできると思いますが、それは必要ではないようです。Perlクックブックの私のコピーにはtcgrepのソースが含まれています。それを使用する必要がありますか?もしそうなら、最新のものはどこですか?バージョン?このプログラム全体を入力する必要があると言わないでください!)
regex - RegExp: ".html" で終わらないすべてのリンクを検索したい
私は正規表現の比較的初心者です (ただし、正規表現を何度も使用して成功しています)。ドキュメント内の「.html」で終わらないすべてのリンクを検索したい 思いついた正規表現は次のとおりです。
私のエディタである Notepad++ では、href=\"([^"]*)\"
すべてのリンク (「html」で終わるものとそうでないものの両方) を見つけます。否定的な後読みが機能しないのはなぜですか?
私も先読みを試みました:
しかし、それもうまくいきませんでした。
誰でも助けることができますか?
乾杯、うなり声
regex - hgignore ファイルの正規表現の否定後読み
「Test/」または「Tests/」サブフォルダーにあるファイルを除くすべての「Properties/AssemblyInfo.cs」ファイルを無視するように .hgignore ファイルを変更する方法を探しています。
否定的な後読み式を使用してみました
が、 「Test/」と「Tests/」の両方の(?<!Test)/Properties/AssemblyInfo\.cs$
フォルダーで「無視を解除」する方法が見つかりませんでした。
regex - 一連の文字に出会ったときに一致を停止する:後読みを修正する
私は次の正規表現を持っています:
hello world!
文字列に一致するように設計されていますhello world! [[A string typically used in programming examples]]
しかし、私は文字列全体に一致するだけで、その理由がわかりません。ルックアラウンドのすべてのフレーバーを試しましたが、うまくいきません...
誰もがこの問題を解決する方法を知っていますか?
ありがとう、
CFP。
regex - 否定的な後読みを使用したvimの奇妙な動作
だから、私はvimでこの検索を行っています:
予想どおり、次の行には一致しません。
ただし、次の行に一致します。
私は何を間違っていますか?このすべてを否定するアトムではありません:\(\(unum\)\|\(player\)=\)
自然にちょうどやっている:/\(\(unum\)\|\(player\)=\)
マッチunum=
or player=
.