regex 我想从电子邮件序言中提取最多特定数量的字母数字字符

neekobn8  于 2023-04-13  发布在  其他
关注(0)|答案(1)|浏览(114)

我正在尝试从电子邮件的序言中提取最多前10个字母数字字符(0-9,a-z,A-Z)(排除所有特殊字符)。提取应该停止排除“@”。
例如,它应该如何运行:

john@yahoo.com : john
suzieQ87@hotmail.com: suzieQ87
ilikemakingeggseverymorning@gmail.com: ilikemakin
49!Gar.a_ge8UT@aol.com: 49Garage8U

我想在Google表格中使用正则表达式。
谢谢!
我试过:

=regexextract("alwayssa.turning@gmail.com","^.{0,9}[[:alpha:]]") returned: alwayssa.tu
=regexextract("suzie@gmail.com",".{0,9}[\w\s^@]") returned: suzie@gmai
=REGEXEXTRACT("suzie40@gmail.com,".{0,9}[\w\d^\W]") returned: suzie40@gm

我不知道如何排除特殊字符,以及如何在“@”处停止。

ars1skjm

ars1skjm1#

由于您希望跳过特殊符号,因此可以分两步进行提取:

  • 替换特殊符号:

REGEXREPLACE(A1,"[^a-zA-Z0-9@]+","")

  • 使用regex提取最多10个第一个符号:

[[:alnum:]]{0,10}

=REGEXEXTRACT(REGEXREPLACE(A1,"[^a-zA-Z0-9@]+",""),"[[:alnum:]]{0,10}")

相关问题