正则表达式:在最后一次出现后获取

时间:2013-07-16 14:59:42

标签: regex grep

当我的字符串看起来像这样:

Something (foo@bar.com@baz.com) something...

如何使用regex / grep获取foo@bar.combaz.com

1 个答案:

答案 0 :(得分:0)

试试这个:

grep -Po '(?<=\()[^)]*(?=@)|(?<=@)[^)]*(?=\))'

用你的例子测试:

kent$  echo "Something (foo@bar.com@baz.com) something..."|grep -Po '(?<=\()[^)]*(?=@)|(?<=@)[^)]*(?=\))'
foo@bar.com
baz.com