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

regex - 正規表現の後読み問題

私が使う

次の形式ではない##MyString##のような文字列に一致します 。

これは上記のフォームでは機能しますが、これでは機能しません: (それでも一致しますが、一致しないはずです)

私は試した:

運がない。どんな提案でも大歓迎です。

編集: PHP preg_match() 関数を使用しています

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

regex - 後読みアサーションとオプションの部分文字列の問題

Hyperic HQ によって生成されたアラートからの情報を解析する正規表現を作成しようとしています。アラートは、次のような件名の電子メールとして届きます。

非常に長い話を短くまとめると、存在しない可能性があるホスト名に関係なく、「Apache Web サーバー」の部分を一貫して取得できる必要があります。ただし、ホスト名が常に「myserver.net」で終わることは知っています。

私が持っている正規表現は次のとおりです。

"Resource:"私は、これが と の間の 0 個以上の文字に一致し"State:"、オプションでホスト名に続く (ただし含まれていない)ことを期待していました。

残念ながら、返されるのは"Server"、つまり、一致させたいビットの最後の単語です。これは、ホスト名が文字列に含まれているかどうかに関係なく発生します。

誰でも助けることができますか?

編集:以下のChadが提供するソリューション

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

regex - 数字を伝えるための私の否定的な裏返しの例を救うことができますか?

MasteringPerlの「AdvancedRegularExpresssion」の章に、良い修正がわからない壊れた例があります。この例は、おそらくそれ自体の利益のために賢くなりすぎようとしているのかもしれませんが、誰かが私のためにそれを修正できるかもしれません。修正作業のために、本の無料コピーが含まれている可能性があります。:)

ルックアラウンドについて説明しているセクションでは、ネガティブルックビハインドを使用して、小数部の数値のコミュニケートルーチンを実装したいと思いました。ポイントは、それがトピックだったので、ネガティブルックビハインドを使用することでした。

私は愚かにこれをしました:

は、の(?<!\.\d)前のビット(?=(?:\d\d\d)+\b)が小数点および数字ではないことを表明します。

愚かなことはそれを壊すのに十分な努力をしていません。最後に別の数字を追加することにより、小数点と数字が前に付いていない3桁のグループができます。

Perlで後読みが可変幅である可能性がある場合、これは非常に簡単でした。しかし、彼らはできません。

ネガティブな裏返しなしでこれを行うのは簡単ですが、それは例のポイントではないことに注意してください。この例を救う方法はありますか?

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

regex - 正規表現、先読み、後読みの命名規則

なぜそれは直感に反するのですか?

/(?<!\d)\d{8}(?!\d)/、ここ(?<!\d)最初に来ますが、 lookbehindと呼ばれ、(?!\d) 次にlookaheadと呼ばれます。すべてが直感に反しています。

このように名前を付ける理由は何ですか?

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

java - RegEx Advanced : 肯定的な後読み

これは私のテスト文字列です:

JSON 形式の各要素を rel 属性の間に取得したいと考えています。最初の要素 (objectid) に対して機能しています。

これが私の ReqEx で、正常に動作します。

しかし、私はこのようなことをしたいのですが、うまくいきません:

したがって、検索文字列のすべての要素を解析できます。

私はJava-ReqExを使用しています

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

java - Java RegExp ViewState

一部の機能をC++アプリケーションからJavaに移植しています。これには、正規表現を含む変更不可能なデータファイルの読み取りが含まれます。

多くのデータファイルには、次のような正規表現が含まれています。

これらの正規表現は、次のエラーを生成します。

C ++では、使用されているエンジンがこれらの式をサポートしていました。私の例のような式を入力として使用して生成できるのと同じ結果を生成できる別の形式の正規表現はありますか?

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

php - 可変幅のネガティブルックビハインド置換が必要

私はここで多くの質問(およびさらに多くのウェブサイト)を見て、いくつかはヒントを提供しましたが、どれも私に決定的な答えを与えませんでした。私は正規表現を知っていますが、教祖にはほど遠いです。この特定の質問は、PHPの正規表現を扱います。

特定のクラスのハイパーリンクで囲まれていないテキスト内の単語を見つける必要があります。たとえば、私は持っているかもしれません

2番目と3番目の象と照合する必要がありますが、最初の象とは照合する必要はありません(テストクラス「no_check」で識別されます)。ハイパーリンク内には、hrefやclass以外の属性が存在する可能性があることに注意してください。私は思いついた

これは正規表現テストソフトウェアでは美しく機能しますが、PHPでは機能しません。

どんな助けでも大歓迎です。正規表現を提供できないが、その必要性を回避するようなPHPコードロジックを見つけることができれば、私も同様に感謝します。

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

php - パターンに文字列を使用しますが、削除されないようにします

私は正規表現にかなり慣れていません。ちなみに私は何かを学びましたが、それでも知識を注いでいます!

だから私はそれがどのように機能するかについてあなたに説明を求めたいです!

私が次の文字列を持っていると仮定すると、ご覧のとおり、それらは互いに少し異なる方法でフォーマットできますが、非常に似ています!

今、私は最初のAZブロックコロンののすべてを置き換えたいので、たとえば

だから私の非常に初心者の知識で私はこのくだらない正規表現を解決しました!:-(

しかし、なぜこの正規表現は機能しないと確信しているのですか?:-)

plsは私を助けます!

PS:質問のタイトルはかなり説明されています。たとえば、よく知られている文字列ブロックを使用して別のブロックと一致させる方法も知りたいです...

..削除せずDTSTART

時間をありがとう!

よろしくルカフィロソフィ

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

java - 後読みでの後方参照

後読みで後方参照を使用できますか?

split私の後ろのどこにいても、キャラクターが2回繰り返されたいとしましょう。

使用REGEX2(後方参照が後読み内にネストされた先読みにある場合) は機能しますがREGEX1、実行時に次のエラーが発生します。

一般に、後方参照は任意の長さの文字列をキャプチャできるため、この種の\1ことは理にかなっていると思います (ただし、正規表現コンパイラが少し賢ければ、この場合は(.)長さが有限であると判断できます)。

では、後読みで後方参照を使用する方法はありますか?

そうでない場合は、このネストされた先読みを使用して常に回避できますか? 他によく使われるテクニックはありますか?

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

javascript - RegExpで可変長ルックビハインドを使用して先頭の空白を削除します

JavaScriptのRegExpエンジンで可変長後読みアサーションがサポートされているかどうか疑問に思っていますか?

たとえば、文字列「[多くの空白やタブ]可変長の後ろ向き」の文字列「可変長」を一致させようとしています。このようなものがありますが、さまざまな正規表現テスターではうまくいきません。 :

それが違法なパターンである場合、それに対する良い回避策は何でしょうか?ありがとう!