答案1
这里有两种不同的方法可以帮你理解 regex 和 sed 的基础:
其中,有 3 个记住的模式,并且仅选择\1
和:\2
sed -r 's/^(.+),(.+),(.+)$/\1,\2/g' my_csv.txt
在这一个中,只有两个记住的模式,只有\1
选择的模式(以\2
第二个逗号开头)
sed -r 's/^(.+)(,[a-z0-9_-][email protected])$/\1/g' my_csv.txt
两种情况的结果都是:
name,lastname
name2,lastname2
现在,应该说,为了完整性,电子邮件的正则表达式必须考虑各种因素(一个例子可以是 Unicode 字符,假设是国际字符)。这里的目标是证明这是可能的(根据您的示例)。
这是一个好的答案关于电子邮件的完整正则表达式。