まずの途中でキャプチャグループを繰り返し対繰り返しグループをキャプチャ:Iknowthisquestionhasbeenbeatentodeath.複雑な正規表現
第二:私はすべてのリソース(オンラインエディタ、RexEgg、regular-expressions.infoを見てきました等)...私は過去数年間にわたって考えることができ、私はまだ正規表現のこの部分を把握することはできません。どのようなRegExを使用しても、私のために働くことは決してないようです。
今ハウスキーピングが邪魔であること:
私は、私は正規表現をするのに非常に適していると考えていることから、一部のデータを抽出する必要がある大量のテキストを持っています。
テキストは次のようになります。
2017年3月31日9時41分18秒EDT [12708から4]パラメータ:$ 1 = '0'、$ 2 = 'ON'、ON $ 3 =」 「
はかなり明らかに、私は$1
、$2
と$3
の値を求めています。この特定の例では、3つの変数を持っていますが、それは私が次のことをキャプチャします正規表現をしたい1および15
の間で一般的です:ON
- $ 1
- '0'
- $ 2
- 」 「
- $
- 3 '
\d{4}.+\[[\d-]*\].+?parameters:\s((\$\d+)\s?=\s?(['\d+\w+]+))
が、プラス、括弧とコンマの無い組み合わせ私が欲しいものに近いものを生成します。
これが私の最初のグループにマッチする正規表現は、あります。文字列からコンマを削除して一緒に詰めても、キャプチャすることはできません。
この男はすべてをキャプチャしますが、グループは意味をなさない:
\d{4}.+\[[\d-]*\].+?parameters:\s(((\$\d+)\s?=\s?(['\d+\w+]+),?\s?)+)
誰かがここに私の不幸を終了し、テキストが分離されている場合、正規表現で繰り返されるテキストをキャプチャする方法を私に説明することができます私が気にしないキャラクターによって?
「\ G (?:^)、|パラメータ:)\ s +(\ $ \ d +)= '(\ w +)' 'はあなたのものであるべきである –
まだ1つしか捕捉できませんでした。まだ捕獲されていません – Brandon
セバスチャンの言及を少し修正したパターンで複数試してみてください:['(?:\ G(?!^)、| parameters :) \ s *(\ $ \ d +)\ s * = \ s * '([^'] +) '\ s * '](https://regex101.com/r/3nHI53/1)。あなたが必要とするものでないならば、あなたは純粋な正規表現でそれを得ることができません。これは、パターンに定義されている数のグループしか存在しないため、6つのグループを与えます。 W帽子はプログラミング言語ですか? –