サーチ…


構文

  • 名前付きキャプチャグループを作成します( Xはキャプチャしたいパターンです)。

    (φ 'name'X)(φX)(φPX)

  • 指定されたキャプチャグループを参照する:

    $ {name} \ {name} g \ {name}

備考

PythonとJavaでは、複数のグループが同じ名前を使用することはできません。

名前付きキャプチャグループの外観

フレーバーを指定すると、指定されたキャプチャグループは次のようになります。

(?'name'X)
(?<name>X)
(?P<name>X)

Xはキャプチャしたいパターンです。次の文字列を考えてみましょう:

かつては、 かわいい女の子がいました ...

かつて、帽子付きのユニコーンがあった...

かつて、海賊の旗を掲げボートがあった...

ここでは、すべての行の件名( イタリック体)をキャプチャしたいと考えています。 .* was a (?<subject>[\w ]+)[.]{3}

一致する結果が保持されます:

MATCH 1
subject    [29-47]    `pretty little girl`
MATCH 2
subject    [80-99]    `unicorn with an hat`
MATCH 3
subject    [132-155]    `boat with a pirate flag`

名前付きキャプチャグループの参照

あなたが知っている(またはそうでないかもしれない)ので、あなたはキャプチャグループを以下を使って参照することができます:

$1

1はグループ番号です。

同じ方法で、次のようにして名前付きキャプチャグループを参照することができます。

${name}
\{name}
g\{name}

上記の例を見て、

The hero of the story is a ${subject}.

取得できる結果は次のとおりです。

The hero of the story is a pretty little girl. 
The hero of the story is a unicorn with an hat. 
The hero of the story is a boat with a pirate flag.


Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow