問題タブ [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.
php - 数字と10進文字の間のスペースを選択するための正規表現
スペースの前に数字または "." がある文字列からスペースを削除したい 数字または "." が追加されます。「50 .10」、「50 . 10」、「50. 10」のような文字列があり、それらをすべて「50.10」にしたいのですが、両側の桁数が不明です。私は次のような先読み/後読みアサーションを試しています:
しかし、それはうまくいきません...
regex - ルックアラウンドは、正規表現で照合できる言語に影響しますか?
最新の正規表現エンジンには、その機能なしでは照合できなかった言語を照合できる機能がいくつかあります。たとえば、後方参照を使用する次の正規表現は、繰り返される単語で構成されるすべての文字列の言語に一致します: (.+)\1
. この言語は正規表現ではないため、後方参照を使用しない正規表現とは一致しません。
ルックアラウンドは、正規表現で照合できる言語にも影響しますか? つまり、ルックアラウンドを使用して一致させることができ、他の方法では一致できなかった言語はありますか? もしそうなら、これはルックアラウンドのすべてのフレーバー (否定的または肯定的な先読みまたは後読み) に当てはまりますか、それともそれらの一部だけに当てはまりますか?
regex - 正規表現 '(?<=#)[^#]+(?=#)' はどのように機能しますか?
C# プログラムに次の正規表現があり、理解するのが困難です。
私が理解したと思うものに分解します:
だから私が抱えている問題は?<=
and?<
の部分です。MSDN を読むと、?<name>
グループの名前付けに使用されますが、この場合、山かっこは決して閉じられません。
ドキュメントで見つけることができません?=
でした。検索エンジンはこれらの特殊文字をほとんど無視するため、検索するのは非常に困難です。
c# - .NET での遅延正規表現一致。ここで何が問題なのですか?
次の例では、 pMAINp と最初の pMDSp の間のテキストを取得したいと考えています。正規表現には後読みと先読みがあります。
私が望んでいた結果は「 MAP B FlightTest Load 」でした。
しかし、それが返すものは次のとおりです。「MAP B FlightTest Load pMDSp ZutiCarrier pWingp some pMDSp more pWingp end」
ここで遅延一致を試みていることに気付くでしょう: (pMDS)? これは明らかに機能していません!これについての助けは大歓迎です。ありがとう。:-)
EDIT : おっと、探していたテキストが修正されました。
これはうまく機能します:
string blockMainRegex = @"(?<=pMAINp)[\s\w+]+?(?=pMDS)";
c# - 一部のフレーバーで後読みの有限反復が機能しないのはなぜですか?
日付の真ん中の 2 桁を形式で解析したいdd/mm/yy
だけでなく、日と月に 1 桁を許可します。
これは私が思いついたものです:
1 桁または 2 桁の数字とその前に[\d]{1,2}
スラッシュを付けた 1 桁または 2 桁の数字が必要です。^[\d]{1,2}\/
これは多くの組み合わせでは機能しません。私はテストしまし10/10/10
た 、11/12/13
など...
しかし、驚いたことに(?<=^\d\d\/)[\d]{1,2}
うまくいきました。
しかし、一致した[\d]{1,2}
場合も一致する必要があり\d\d
ますか、それとも間違っていますか?
javascript - ネガティブルックアラウンド
次の正規表現は間違っています - 誰かがすべてを見つけるのを手伝ってくれませんか? 私は以前にそのような正規表現を必要としませんでした。境界という言葉は物事を混乱させるかもしれません。
ありがとう
javascript - js正規表現エスケープ引用符
テキストの後にのみ来るすべての引用符をエスケープしたいH1:
例えば、 :
なる必要があります:
これは後読みで簡単にできますが、JS ではそうではありません。
私が試したこと:
また、次のような他の同様のテキストでも機能するはずです。
regex - Ruby 1.9 正規表現の後読みアサーションとアンカー
Ruby 1.9 正規表現は後読みアサーションをサポートしていますが、パターンでアンカーを渡すときに問題があるようです。先読みアサーションでアンカーが渡されると、問題なく実行されます。
先読みと同じように後読みアサーションでアンカーを機能させる方法を知っている人はいますか?
後読みに必要な特別なエスケープ シーケンスまたはグループ化はありますか?
パッチが適用された場合に備えて、1.9.1-p243、p376、および 1.9.2-preview3 でこの動作をテストしました。
regex - 正規表現の「後読みアサーションは固定長でなければならない」という技術的な理由は何ですか?
たとえば、以下の正規表現は、後読みアサーションが固定長ではないことを報告する失敗を引き起こします。
先読みにはそのような制限はありません。
regex - タグの内容に一致すると同時に、先頭と末尾の空白を省略した正規表現
タグの内容全体から先頭または末尾の空白を除いたものに一致する正規表現を作成しようとしています。入力の要約例を次に示します。
<tag
>
テキスト
</tag
>
以下のみを一致させたい(一致の前後の空白がどのようにトリミングされているかに注意してください)。
"文章"
私は現在、.NET(Powershell)でこの正規表現を使用しようとしています:
ただし、この正規表現は、「テキスト」とタグ内の先頭の空白に一致します。これは望ましくありません。正規表現を修正して期待どおりに機能させるにはどうすればよいですか?