0

Pythonで(文字クラスを使用して)角括弧を一致させようとしています。しかし、次のコードは成功しません。正しい方法を知っている人はいますか?

#!/usr/bin/env python

import re
prog = re.compile('[\[]+')
print prog.match('a[f')
prog = re.compile('[\]]+')
print prog.match('a]f')
4

1 に答える 1

2

問題は角括弧ではなく、match(ドキュメントにあるように) 「[t]r[ies] 文字列の先頭にパターンを適用する」ことです。search代わりに次のことが必要な場合があります。

>>> prog = re.compile('[\[]+')
>>> print prog.match('a[f')
None
>>> print prog.search('a[f')
<_sre.SRE_Match object at 0xa7a7448>
>>> print prog.search('a[f').group()
[
于 2013-11-30T03:28:49.897 に答える