2

私はそのような入力文字列を持っています:

left/1234567890

正規表現:

(left(?<=/)[0-9]{10}?)

そのような結果を取得したい:1234567890。しかし、それは機能しません。

ただし、次の入力文字列は次のとおりです。

/1234567890

次の正規表現で:

((?<=/)[0-9]{10}?)

期待どおりの結果が得られます:1234567890。

4

1 に答える 1

6

これは、後読みに含めleftていないためです。

((?<=left/)[0-9]{10}?)

最初の例でleftは、正規表現エンジンの「ポインター」が と の間t/ある場合に一致するため、正規表現エンジンがまだスラッシュを渡していないため、後読みは一致しません。

于 2012-10-24T14:44:44.587 に答える