LoginSignup
2
1

More than 5 years have passed since last update.

正規表現の名前付きグループに同じ名前は使えない - Python

Last updated at Posted at 2019-01-14

(?P<name>)のような名前付きグループは同じグループ名が使えない

「名前が一意な場合のみ、名前が付けれる」


teratailで質問してみたところ、 同じ名前は使えない ということがわかった。

Python - [正規表現]名前付きグループに同じ名前は使えないのでしょうか- Python|teratail

無理です。

グループ名は有効な Python 識別子でなければならず、グループ名は 1 個の正規表現内で一意でなければなりません。(Python 3.6.5リファレンスより)

なので、以下のようにhogeというグループ名を2つ定義しようとするとエラーになる

>>> re.compile(r'(?:"(?P<hoge>\w+)"|(?P<hoge>\w+))')
...
re.error: redefinition of group name 'hoge' as group 2; was group 1 at position 23

redefinition of group name 'hoge' as group 2; was group 1 at position 23

参考文献

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1