Regular Expressions
名前付きキャプチャグループ
サーチ…
構文
名前付きキャプチャグループを作成します(
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