になります。ここでは
は、私は再使用して書いたものですg
と一度だけ一致し、(.*?)
は、+
と一致します。
ソリューションは\
とそれに先行することにより、+
を脱出することです:
>>> email = '[email protected]'
>>> re.findall(r'something\+(.*?)@', email)
['company']
はあなたが本当にここに正規表現を必要としない、と述べました。
あなたの目標は、あなたがしていますが、これは+
第一と第一@
間のすべてのテキストを取得することです:あなたはそこには+
または@
はません、そうだとすれば、このコードは、予期しない結果を与えること
>>> email = '[email protected]'
>>> email[email.find('+')+1:email.find('@')]
'company'
注意おそらくこの周辺の小切手を追加したいでしょう(例えば、if '+' in email: ...
)。
さらに、電子メールで実際に@
などを引用することができます。したがって、これは100%RFCに準拠していません。しかし、前回、私は多くのMTAをチェックし、メールクライアントはそれをサポートしていませんでしたので、本当に心配する必要はありません。
スプリットを使用しない理由は? – Aki003
どの正規表現の文字列を試しましたか? –
コードを表示してください。 – Xufox