-2

我有这个在 regex101 上验证的正则表达式: [a-zA-Z0-9-_.]+\@[a-zA-Z0-9-]+\.+[a-zA-Z0-9-]{2,4}

但是当我尝试使用 sed 运行它时,我得到:sed: -e expression #1, char 52: Invalid range end

据我了解,当您定义范围时,这通常是一个问题:Az 在某些版本的 sed 中,但在这里我放的是 a-zA-Z? 所以我猜这是导致错误的特殊字符,但我该如何解决呢?

赛德: $( sed -E -n '/[a-zA-Z0-9-_.]+\@[a-zA-Z0-9-]+\.+[a-zA-Z0-9-]{2,4}/p' < emails.txt )

4

1 回答 1

0

在您的第一个字符类[a-zA-Z0-9-_.]中,这不是有效范围:9-_

移至-角色类别中的最后一个角色:[a-zA-Z0-9_.-]

于 2020-10-14T15:45:37.010 回答