【发布时间】:2020-10-14 15:32:17
【问题描述】:
我有这个在 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
据我了解,当您定义范围时,这通常是一个问题,例如: 某些版本的 sed 中的 A-z,但在这里我放的是 a-zA-Z?所以我猜这是导致错误的特殊字符,但是我该如何解决呢?
Sed:
$( sed -E -n '/[a-zA-Z0-9-_.]+\@[a-zA-Z0-9-]+\.+[a-zA-Z0-9-]{2,4}/p' < emails.txt )
【问题讨论】:
-
如果我从它可以工作的字符类中删除特殊字符,但是我没有从查询中获得所需的选择。
标签: regex sed character-class