問題タブ [non-greedy]

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 に答える
1612 参照

c# - 左側のみの正規表現欲張り(.net)

2つの文字列間の一致をキャプチャしようとしています。

たとえば、「最も早い」一致を使用して、QとXYZの間に表示されるすべてのテキストを探しています(外側に拡大し続けることはありません)。この文字列:

サーカスQこんにちはそこにQSOMETEXTXYZ今日はXYZ大丈夫XYZの日です

戻る必要があります:

Q SOMETEXT XYZ

しかし、代わりに、次のようになります。

Qこんにちは、Q SOMETEXT XYZ

これが私が使用している表現です: Q。*?XYZ

左に戻りすぎています。アスタリスクの後に疑問符を使用すると、ライド側で正常に機能しています。左側についても同じことを行い、最初の左側のQを押したら停止して、右側と同じように機能させるにはどうすればよいですか?http://msdn.microsoft.com/en-us/library/az24scfc.aspxから疑問符やその他の記号を試しましたが、理解できないことがあります。

私は正規表現の初心者なので、これに関するサポートをいただければ幸いです。

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

ruby - ネストされた一致を見つけるためのruby正規表現

私の正規表現は

テスト文字列は

私が得ている試合は

しかし、別の短い一致「プログラミングテストThis」があります。これは、この正規表現では見つけることができません。スキャンメソッドを使用してすべての一致を見つけましたが、これをキャプチャすることさえできません。

どんな助けでも大歓迎です

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

regex - kate でのパターンの先読み

私は、法律書の判例集の編集に取り組んでいます。タグを検索および置換操作に使用できるように HTML に変換しました。現在、Kate で作業しています。テキストは事例の名前を参照し、事例の引用は脚注に記載されています。

<i>Smith v Jones</i>127 ......... [other stuff including newline characters].......</br>127 (1937) 173 ER 406;

以下を使用して、Kateで先読みを行うことができました。

<i>.*</i>([0-9]{1,4}) .+<br/>\1 .*<br/>

...しかし、貪欲の問題に遭遇しました。

テキストがごちゃごちゃしているので、バッチ プロセスに頼るのではなく、段階的に一致を見つける必要があります。

先読み演算子と貪欲でない演算子の両方をサポートする Linux (または Windows) テキスト エディターはありますか? それとも、grep または sed を試す必要がありますか?

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

c# - この正規表現が1つの一致のみを返すのはなぜですか?

これが私の入力です:

xxx999xxx888xxx777xxx666yyy

xxx222xxx333xxx444xxx555yyy

これは次の式です。

444を返します。

444と777の両方を返したいのですが、これではどこにも行けません。

私は持っています!左側の最も内側にのみ一致するように除外します(これは、ほとんどの場合、1つの結果のみを検索する場合に最適です)。ただし、この場合、最初の結果をスキップする理由に関連していると感じています。ここからどこへ行けばいいのかわからない。

私はここでテストしています:http: //regexlib.com/RETester.aspx(「SingleLine」と「ExplicitCapture」が有効になっている)

アドバイスをいただければ幸いです。

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

c# - この単一行の正規表現がすべての一致を返さないのはなぜですか?

これと同様の質問をしたところ、優れた正確な回答がありましたが、まったく新しい問題があることがわかりました. 関連する入力が1行あることがわかりました。これを抽象的な方法で尋ねる方法がわからないので、すぐに入力にジャンプします。

(より良い例を提供するために編集)

bear999bear888bear777bear666fox---bear222bear333bear444bear555fox

(マーカー間のアイテムは必ずしも数値ではありません)

これは式です(更新された入力例に一致するように編集されています):

444を返しています。これを微調整して444 と 777の両方を返す方法はありますか? 最初の一致をスキップして、後者のみを優先しているようです。私は持っています!除外して、左側の最も内側のみに一致するようにします。

私はここでテストしています: http://regexlib.com/RETester.aspx

これは、2 行に分割して複数行をオンにするとうまく機能します。入力が 1 行であると動作しなくなるのはなぜですか?

アドバイスをいただければ幸いです。

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

python - 非貪欲な python 正規表現

いくつかの正規表現を試しています。私はパイソンを使用しています。

私の今の仕事は、新聞記事をかき集めて、人が亡くなった事例を探すことです。関連する記事ができたら、他のことのために死亡数を把握しようとしています。いくつかのパターンを考え出そうとしていますが、特に 1 つのパターンに苦労しています。このサンプル記事のセクションを見てください:

[SANAA 10月21日 ロイター] - イエメンで10月21日、米軍が無人機で車を攻撃し、アルカイダの武装勢力とみられる3人の男性が死亡したと、部族の情報筋や地元当局者が明らかにした。

「three」を引っ掛けるために使用しているコードは、最初にドキュメント全体で置換を行うため、パターンがまったく適用される前に「three」が「3」になります。この例に関連するパターンは次のとおりです。

このパターンは、数字で始まり、リストされているものの 1 つなどのオプションの名詞が続き、「dead」または「died」を見つける前に最小限の乱雑さがあるという考えです。このパターンがキャッチされるように、部屋を残したい:

この例では、引き続きインスタンスをキャッチします。

問題は、私が使用しているパターンが、記事の最初の部分から日付を収集し、21 のカウントを返すことです。これまでのところ、どれだけいじっても、範囲を men という単語のすぐ横の数字に制限することはできませんでした。 、その後に分詞句が続き、関連する「殺されました」。

どんな助けでも大歓迎です。REに関しては、私は間違いなく第一人者ではありません。

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

python - Python 正規表現の速度 - 貪欲と非貪欲

次の行に沿って、Pythonでいくつかの正規表現の置換を行っています

多くの大きなドキュメントに。明らかに、正規表現を非貪欲に ( を使用して?) 作成しても、一致するものは ( \w!=として\s) 変更されませんが、コードの実行速度は速くなりますか? 言い換えれば、非貪欲な正規表現を使用すると、Python は、ドキュメントの末尾からその文字に戻るのではなく、一致した最初の文字から順に動作しますか? それとも、これは単純な見方ですか?

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

qt - QRegExp:個々の数量詞は貪欲でないことはできませんが、それではどのような良い選択肢がありますか?

_my_endingファイル名に末尾を追加し、ファイル拡張子を変更しないコードを書き込もうとしています。

私が取得する必要があるものの例:

私はである程度の経験がPCREあり、それを使用するのは簡単な作業です。Qtの経験が不足しているため、最初に次のコードを作成しました。

このコードは機能しません(まったく一致しません)、そして私はドキュメントで次のことを見つけました

欲張りでないマッチングは、個々の数量詞に適用することはできませんが、パターン内のすべての数量詞に適用できます。

+ご覧のとおり、私の正規表現では、最初の数量詞の後に追加することで、最初の数量詞の貪欲さを減らそうとしまし?た。これはではサポートされていませんQRegExp

これは私にとって本当に残念なことです。そのため、次の醜いが機能するコードを作成する必要があります。

しかし、もっと良い解決策はありますか?私はQtが好きですが、Qtに見られるいくつかのことは落胆しているようです。

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

c# - Regex Non-Greedy (Lazy)

TDタグを貪欲に解析しようとしています。私はこのようなものから始めています:

以下を正規表現として使用しています。

レコードは次のように返されます。

最初の完全な結果 (「もの」で始まるもの) を分割しないのはなぜですか? パラメータの有無にかかわらず、TD タグのすべてのインスタンスで分割するように正規表現を調整するにはどうすればよいですか?

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

regex - Perlの貪欲でない正規表現

次のような文字列をキャプチャしようとしています。

サブストリングをキャプチャするにはどうすればよいですか?

およびタグ名:

これまでの私の試み:

しかし、それは常に貪欲であり、_NameOfTag_ != null