問題タブ [regex-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.
regex - VBScriptRegExpは貪欲ではありません
私は、SQLステートメントを基本的な部分に分割するための単純なSQLパーサーを作成しようとしています。ただし、ネストされたクエリに問題があります。例は最もよく説明します:
ここでは、where_partに「idin(select customer_id from Orders where 1 = 1)」を含め、everything_elseに「select*fromCustomers」を含めます。つまり、2番目(。*)はできるだけ貪欲に、最初は無私無欲にしたいと思います。言い換えれば、everything_elseにwhereが含まれないようにする必要があります。
ただし、everything_else = "select * from Customers where id in(select customer_id from Orders" and where_part = "1 = 1)"を取得します。
面倒な非正規表現の文字列解析に頼らずに、これを修正するにはどうすればよいですか?
regex - sedでの貪欲でない(消極的な)正規表現マッチング?
sed を使用して URL の行をクリーンアップし、ドメインだけを抽出しようとしています。
だからから:
私が欲しい:
(末尾のスラッシュの有無に関係なく)
私が試してみました:
そして(貪欲でない量指定子をエスケープする)
しかし、貪欲でない量指定子 ( ) を機能させることができないように見える?
ため、常に文字列全体に一致することになります。
regex - 非貪欲な先読み
次のような文字列があります。
で「val」をキャプチャでき/^\w*/
ます。
「:」記号なしで「キー」を取得するにはどうすればよいですか?
ありがとう
regex - vimでマッチを非貪欲にするにはどうすればよいですか?
次のような多くのマークアップを含む大きな HTML ファイルがあります。
class=""
すべてを取り除くために Vim の検索と置換を実行しようとしていますがstyle=""
、マッチを貪欲にしないようにするのに苦労しています。
私の最初の試みはこれでした
しかし、Vim は?
. 残念ながら、 を削除する?
と、一致が貪欲になりすぎます。
どうすればマッチを非貪欲にできますか?
.net - 貪欲な正規表現を持つオプションの接尾辞を無視する
次のような文字列に対して.NETで正規表現マッチングを実行しています。
最後に数字を付けずにURL部分を一致させる必要があるため、次のようになります。
これは私が試している正規表現です:
問題は、最後のグループが中間グループの試合の一部として含まれていることです。また、最後に*を付けずに試しましたが、上の最初の文字列のみが一致し、残りは一致しません。
複数行オプションを有効にしています。何か案は?
c# - C# 遅延正規表現マッチング
解析が必要なファイルがたくさんありますが、ファイル名には 2 つの日付パターンのいずれかが含まれています (システムをアップグレードしているので、ファイル パーサーが両方の日付形式を認識できるようにする必要があります。そして古い)。
ファイル名は<fileroot>_yyyyMMdd.log
または<fileroot>_MMddyy.log
のように見え、日付を解析するには数字を解析できる必要がありますが、^.*(\\d{6,8}).*$
またはのような正規表現を使用して日付の数字を解析しようとする^.*(\\d{6}|\\d{8}).*$
と、キャプチャ グループは常に 6 になります。ファイル名が 8 桁の場合でも、
C# の正規表現ライブラリを、正規表現との一致を可能な限り徹底的にする方法はありますか? 私はJavaでそれを行う方法を知っていますが、C#/ .NETではなく、言語はかなり新しいです。
php - PHP preg_replace 非貪欲な問題
次のサイトを使用して PHP 正規表現をテストしているので、常にアップロードする必要はありません: http://www.spaweditor.com/scripts/regex/index.php
次の正規表現を使用しています。
次の文字列 (何も置き換えない):
preg_replace が返されます:
それでも私はそれが戻ることを期待しています:
私は?貪欲でない修飾子です。何が起きてる?
.net - RegEx: 可能な限り最小の一致または貪欲でない一致
RegEx (.NET バージョン) に最大の一致ではなく最小の有効な一致を取得するように指示するにはどうすればよいですか?
c# - この式が貪欲なアプローチに従わないのはなぜですか?
この式が貪欲なアプローチに従っていないのはなぜですか?
出力:
p>あなたが観察できるように: (犬) グループは 0 回一致します。
手がかりはありますか?