私は正規表現を初めて使用しますが、なぜこれが「present」を出力しないのですか?
tale = "It was the best of times, ... far like the present ... of comparison only. "
a = re.compile('p(resent)')
print a.findall(tale)
>>>>['resent']
私は正規表現を初めて使用しますが、なぜこれが「present」を出力しないのですか?
tale = "It was the best of times, ... far like the present ... of comparison only. "
a = re.compile('p(resent)')
print a.findall(tale)
>>>>['resent']
present
ここで正確な単語と一致させようとしている場合は、次のようなものを試してください。
In [297]: tale="resent present ppresent presentt"
In [298]: re.findall(r"\bpresent\b",tale)
Out[298]: ['present']
パターンに1つ以上のグループが存在する場合は、グループのリストを返します
グループ化だけにグループを使用し、キャプチャには使用しない場合は、キャプチャ以外のグループを使用します。
a = re.compile('p(?:resent)')
この正規表現には意味がありませんが、より複雑な正規表現には適切な場合があります。例:
a = re.compile('p(?:resent|eople)')
'present'または'people'のいずれかに一致します。