このコードを実行すると:
print re.search(r'1', '1').groups()
の結果が得られ()
ます。しかし、.group(0)
私に試合を与えます。
groups()
一致を含むものを私に与えるべきではありませんか?
更新: 回答ありがとうございます。つまり、re.search()
サブグループを使用しない場合groups(0)
、一致を取得するために使用する必要がありますか?
このコードを実行すると:
print re.search(r'1', '1').groups()
の結果が得られ()
ます。しかし、.group(0)
私に試合を与えます。
groups()
一致を含むものを私に与えるべきではありませんか?
更新: 回答ありがとうございます。つまり、re.search()
サブグループを使用しない場合groups(0)
、一致を取得するために使用する必要がありますか?
私の知る限り、記憶されているグループ.groups()
のタプルを返します。つまり、括弧で囲まれた正規表現内のグループ。だからあなたが書くとしたら:
print re.search(r'(1)', '1').groups()
あなたが得るだろう
('1',)
あなたの応答として。一般に、.groups()
は、括弧で囲まれた正規表現内のオブジェクトのすべてのグループのタプルを返します。
キャプチャ グループがないため、 groups は空です - http://docs.python.org/library/re.html#re.MatchObject.groups。group(0) は、グループでキャプチャされたかどうかに関係なく、一致したテキスト全体を常に返します
編集しました。
これは、キャプチャグループがないためです(()
パターンで使用しないため)。
http://docs.python.org/library/re.html#re.MatchObject.groups
そしてgroup(0)
、検索結果全体を返します(キャプチャグループがまったくない場合でも):
http ://docs.python.org/library/re.html#re.MatchObject.group
正規表現にグループがないため、()
結果として空のリスト()が表示されます。
試す
re.search(r'(1)', '1').groups()
キャプチャグループを作成する角かっこを使用すると、パターンのこの部分に一致する結果がグループに保存されます。
次に、
('1',)
結果として。