正则表达式 - 查找特定字符前的第一个字符数(如Excel LEFT函数)

时间:2012-03-13 12:51:06

标签: replace backreference

我正在尝试找到一种方法,使用@符号前面的前10个字符查找/替换.csv文件(单列)中的电子邮件地址。示例CSV文件为:

PrimarySmtpAddress
userA@domain.com
UserB@domain.com
UserAlongername@domain.com
UserBlongername@domain.com

我想要的输出是:

PrimarySmtpAddress
UserA
UserB
UserAlonge
UserBlonge

到目前为止,我已经找到了如何摆脱@以及随后的所有事情:

查找:(.*)@.* 替换:\1

我希望我可以在\1之后添加一些内容,指定只替换\1中包含的前10个字符。

任何想法?

1 个答案:

答案 0 :(得分:0)

尝试制作正则表达式(.{1,10})@.*并替换为\1{1,10}表示.的“一到十”。

根据您用来替换的工具,它可能会尝试匹配整个字符串 - 在这种情况下,您可以使用^.*?(.{1,10})@.*$