確かに、ごめんなさい...

この表現を試す価値があります：

`（[a-za-z0-9]+[。-_]）*[a-za-z0-9]+@[a-za-z0-9-]+（\。[a-z | a-z] { 2、}）+`

または、本当にすべての可能なオプションをカバーする必要がある場合**：

`（？：A-Z0-9！ /=？^_ `{|}} 〜-]+）*|"（？：[\ x01- \ x08 \ x0b \ x0c \ x0e- \ x1f \ x21 \ x5b \ x5d- \ x7f] | \ \ \ \ \ \ \ \ \ \ [\ x01- \ x09 \ x0b \ x0c \ x0e- \ x7f]）*"）@（？：（z0-9]）？\。）+[a-z0-9]（5 [0-5] | [0-4] [0-9]）| 1 [0-9] [0-9] | [1-9]？[0-9]）\。）{3}（？:( 2（2（ 5 [0-5] | [0-4] [0-9]）| 1 [0-9] [0-9] | [1-9]？[0-9]）| [A-Z0-9 - ]*[a-z0-9]：（？：[\ x01- \ x08 \ x0b \ x0c \ x0e- \ x1f \ x21- \ x5a \ x53- \ x7f] | \\ [[\ x01- \ x09 x09 \ x0b \ x0c \ x0e- \ x7f]+）+）\] `` ``

最後の正規表現は、標準[RFC5322]（https://www.ietf.org/rfc/rfc5322.txt）に準拠しています。

これが最終オプションです：

`` python
Reをインポートします

def is_email（word）：
    pattern = r "" "（？：[a-z0！＃$％＆ '*+/=？^_` {|} 〜-]+（？：\。[a-z0！＃$％＆'*） +/=？^_ `{|} 〜-]+）*|"（？：[\ x01- \ x08 \ x0b \ x0c \ x0e- \ x1f \ x21- \ x5b \ x5d- \ x7f] | \\ [\ x01- \ x09 \ x0b \ x0c \ x0e- \ x7f]）*"）@（？：（？：[a-z0-9]（？：[a-z0-9-9-]*[a -z0-9]）？\。）+[a-z0-9]（？：[a-z0-9-]*[a-z0-9]）？| \ [？:( 2 [0] -5] | [0-4] [0-9]）| 1 [0-9] [0-9] | [1-9]？[0-9] \）\。）{3} （？:( 2（5 [0-5] | [0-4] [0-9]）| 1 [0-9] [0-9] | [1-9]？[0 -9]）| [a-z0-9-]*[a-z0-9] ：（] | \\ [\ x01- \ x09 \ x0b \ x0c \ x0e- \ x7f]）+）\]） "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "

    return bool（re.match（pattern、word））

words = ["embles@gmail.com"、 "embles.com"、 "embles@com"、 "emple@google.co.uk"]]
emails = list（filter（is_email、words））
印刷（電子メール）
`` `
Действительно, прошу прощения...

Стоит попробовать данные выражение:

`([A-Za-z0-9]+[.-_])*[A-Za-z0-9]+@[A-Za-z0-9-]+(\.[A-Z|a-z]{2,})+`

Или, если вам действительно нужно покрыть **все возможные варианты**:

`(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\.){3}(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9])|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])`

Последнее регулярное выражение соответствует стандарту [RFC5322](https://www.ietf.org/rfc/rfc5322.txt). 

Вот финальный вариант:

```python
import re

def is_email(word):
    pattern = r"""(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\.){3}(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9])|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])"""

    return bool(re.match(pattern, word))

words = ["example@gmail.com", "example.com", "example@com", "example@google.co.uk"]
emails = list(filter(is_email, words))
print(emails)
```