0

"${"式 で始まり、で終わる"}"式を一致させたい${foo} and ${bar}

もちろん、正規表現.*\$\{.+\}.*は式全体に一致します。

.*\$\{.+?\}.*私の理解では、消極的な量指定子に変更すると問題が解決するということでしたが、式全体にも一致することがわかりました。

私は何が欠けていますか?

4

3 に答える 3

3

1800 INFORMATION による提案と同様に、ドットを別のものに変更します。

\$\{[^\}]+\}

文字列内にが 2 つある場合+でも、 は可能な限り一致します。}${}

于 2009-09-10T09:47:10.870 に答える
2

式の最初と最後にあるを削除することから.*始めます。おそらく、すべてに一致するのはこれです。これを試してみると、うまくいきますか?

\$\{.+\}
于 2009-09-10T09:43:19.477 に答える
0

「+」量指定子は貪欲なので、可能な限り一致しますが、+? は十分に一致します。

たとえば、「${foo} something ${bar}」の場合

".+" --> match = "${foo} something ${bar}" ".+?" --> match = "${foo}" と "${bar}". すべての一致を取得するには、反復する必要があります。

http://www.regular-expressions.info/repeat.html

于 2009-09-10T09:51:42.477 に答える