3
SomeRandomText=%EXAMPLE1%,MoreRandomText=%%ONE%%!!%%TWO%%,YetMoreRandomText=%%THREE%%%FOUR%!!%FIVE%\%%SIX%%

'%%'でラップされているものをすべて引き出すことができる正規表現が必要なので、この正規表現は次の式にのみ一致します。

  • %%1%%
  • %%2%%
  • %%三%%
  • %%六%%

私は多くの異なる方法を試しました、そしてこれを達成する方法があると確信しています-しかし私はまだ苦労しています。私は主に、文字列の最初の%%から最後の%%までのすべてに一致する場所でそれを取得することになります-これは私が望むものではありません。前方参照のようなものが必要だと思いますが、実装に苦労しています

4

2 に答える 2

2

修飾子を使用して、欲張りでない一致 が必要です。?

%%.*?%%

オンラインで動作することを確認してください:rubular

于 2012-12-05T08:27:48.620 に答える
0

これは、s 間で許可されるものを制限することでも実行できます%

%%[^%]*%%

これは貪欲でない一致よりも広くサポートされていますが、これは %%A%B%% とは一致しないことに注意してください。ただし、必要に応じて、いくつかの変更を加えてこれを行うことができます。

%%([^%]|%[^%])*%%

または同等に

%%(%?[^%])*%%
于 2012-12-05T09:54:11.353 に答える