1. ホーム
  2. python

[解決済み] Pythonによるパターンマッチの抽出

2022-04-13 21:13:58

質問

Python 2.7.1 私はパターン内の単語を抽出するためにPythonの正規表現を使用しようとしています。

次のような文字列があります。

someline abc
someother line
name my_user_name is valid
some more lines

my_user_name"という単語を抽出したいのですが、どうすればいいですか?私は次のようなことをします。

import re
s = #that big string
p = re.compile("name .* is valid", re.flags)
p.match(s) #this gives me <_sre.SRE_Match object at 0x026B6838>

my_user_nameを抽出する方法を教えてください。

どのように解決するのですか?

正規表現からキャプチャする必要があります。 search を使って文字列を取得します。 group(index) . 有効なチェックが行われることを前提に

>>> p = re.compile("name (.*) is valid")
>>> result = p.search(s)
>>> result
<_sre.SRE_Match object at 0x10555e738>
>>> result.group(1)     # group(1) will return the 1st capture (stuff within the brackets).
                        # group(0) will returned the entire matched text.
'my_user_name'