"${"式 で始まり、で終わる"}"式を一致させたい${foo} and ${bar}。
もちろん、正規表現.*\$\{.+\}.*は式全体に一致します。
.*\$\{.+?\}.*私の理解では、消極的な量指定子に変更すると問題が解決するということでしたが、式全体にも一致することがわかりました。
私は何が欠けていますか?
"${"式 で始まり、で終わる"}"式を一致させたい${foo} and ${bar}。
もちろん、正規表現.*\$\{.+\}.*は式全体に一致します。
.*\$\{.+?\}.*私の理解では、消極的な量指定子に変更すると問題が解決するということでしたが、式全体にも一致することがわかりました。
私は何が欠けていますか?
1800 INFORMATION による提案と同様に、ドットを別のものに変更します。
\$\{[^\}]+\}
文字列内にが 2 つある場合+でも、 は可能な限り一致します。}${}
式の最初と最後にあるを削除することから.*始めます。おそらく、すべてに一致するのはこれです。これを試してみると、うまくいきますか?
\$\{.+\}
「+」量指定子は貪欲なので、可能な限り一致しますが、+? は十分に一致します。
たとえば、「${foo} something ${bar}」の場合
".+" --> match = "${foo} something ${bar}" ".+?" --> match = "${foo}" と "${bar}". すべての一致を取得するには、反復する必要があります。