問題タブ [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.

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

python - xmlをきれいにするためのPythonの貪欲でない正規表現

不要な文字が含まれる「xml ファイル」ファイルがあります

次の貪欲ではない置換により、適切に囲まれていない文字が削除されると思いました<sometag></sometag>

この正規表現は、で示されている位置のみを見つけるよう[[]]です</tag>[[]]<tagTwo> 何が間違っていますか?

編集: この質問の動機は解決されました(コメントを参照してください。xmlファイルに迷子の & があり、解析されない原因となっていました-削除したい文字とは何の関係もありませんでした)。ただし、正規表現が可能かどうか(および私の試みの何が問題だったのか)についてはまだ興味があるので、質問を削除しません。

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

php - 正規表現が一致しない、貪欲

文字列内の 2 つの部分を PHP の正規表現と一致させようとしています。貪欲さに問題があると思います。最初の正規表現 (コメントを参照) で最初の 2 つのキャプチャを 2 番目の正規表現として取得したいのですが、それでも両方の文字列をキャプチャします。私は何を間違っていますか?

+123(cd:存在する場合は、最初の文字列のように) とを取得しようとしています456

出力は次のとおりです。

は 2 番目の文字列に存在しないため、4 行目cd:はありません。

予想される出力 (私は専門家ではないため)。最初の行は実際の出力とは異なります。

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

regex - Perl 正規表現を貪欲でないようにすることはできません

私の正規表現は、私が何をしても、行の最後のアルファベット文字セットと一致します。最初の出現のみに一致させたい。

貪欲でない演算子を使用してみましたが、それは頑固に右端のアルファ文字セットに一致します。この場合、$1 に値「Trig」を与えますが、これは私が望むものではありません。$1 を「02.04.07.06 Geerite」にしたい。

コード

ソース

02.04.07.06 Geerite Cu8S5 R 3m、R 3m、または R 32 Trig

出力

NT2 32 トリガー | | |

つまり、次の出力が必要です。

NT2 02.04.07.06 ゲーライト | | |

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

regex - Perl正規表現が単純なホスト名と一致しないのはなぜですか?

FQDNと単純なホスト名の両方である可能性のあるホスト名の抽出に失敗しました

たとえば、sedでは正常に機能します。

しかし、Perlでは、FQDNが次の場合にのみ取得します。

test_serv1にさまざまな組み合わせを試しましたが、機能しません。なぜですか?

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

java - Java正規表現グループ

いくつかの選択肢を抽出するための式が必要です。入力は次のとおりです。

11 33と55が必要ですが、77は必要ありません。

私は最初に試しました:

だから私は55しか得られませんでした。しかし怠惰な(貪欲ではない)

たった11個しか手に入らなかった。全部手に入れるには?

トーマスよろしく

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

xml - タグが重複しているXMLファイルでのPerl正規表現の複数行の照合

最終的に、XMLファイルの空でない要素をすべて次のようにラップしようとしています。

これが私のコードをテストしているサンプルです:

それは私が扱わなければならないXMLを模倣していますが、実際には、いくつかの要素には複数行のテキストが含まれているため、この冒険ははるかに興味深いものになります...

重複がない限り機能する正規表現を作成しました。

ただし、この例では、次のように失敗します。

それを欲張りでないものにするための最良の方法、またはおそらく、私のものとは異なるより良い解決策は何ですか?

前もって感謝します。

PS私は最終的にそれを理解したと思います。次のコードでうまくいくようです。

私の質問に答えてくれたすべての人にもう一度感謝します、そして私はまだより良い解決策を開いています...

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

regex - Perl と正規表現; $1 は空です

脚本:

出力:

^^^^^^^^

これは単なる楽しみのための一時的な文字列です ->true<-

^^^^^^^^

質問:

  1. なぜ $1 は空なのですか?
  2. aString一致するサブ式の数を知る方法は?

明確にしてください。

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

java - matcher.find()の一致が多すぎます

正規表現が作成すると思っていたよりも多くの一致を返すMatcherのfind()メソッドに混乱しています。以下は、これをハッシュ化するために作成したJUnitテストです。すべてのテストに合格しましたが、find()がgroup(1)値がnullまたは空の一致を返す理由がわかりません(//実際の一致よりもfind()が多いのはなぜですか?コードで賞賛します)?

血まみれのヌルではないチェックや空のチェックを回避するために、正規表現に対して何ができますか?

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

regex - grepを使用して複数行の文字列を解析する貪欲でないモード

私はファイルを持っています:

ここで、rsNはランダムなものです。

最後の行をaで、最初の行をbで取得しようとしています。

と:

しかし、どうやら私は何かが欠けています。

ありがとう。