-1

括弧内の内容を取り出そうとしています。たとえば、文字列が「(blah blah)This is stack(over)flow」の場合、「(blah blah)」だけを取り出し、「(over)」はそのままにしておきます。私はしようとしています

    /\A\(.*\)/ 

しかし、「(何とか何とか)これはstack(over)」を返します、そして私はそれがそれを返す理由を確信しています。

4

1 に答える 1

1

最も簡単な修正:

/\A\(.*?\)/

通常、*可能な限りマッチしようとするので)、行の最後までマッチします。これは「グリーディ」マッチングと呼ばれます。/ /の?後に置くと、貪欲になり、可能な限り短い文字列に一致します。+*?

ただし、これはネストされた括弧では機能しないことに注意してください。それはかなり複雑です。あなたの例を考えると、これはネストが問題にならない非常に単純なアドホック形式のためのものだと思います。

于 2013-01-17T20:50:59.483 に答える