我正在创建一个解析csv文件的脚本,为了尽可能地保持格式化,我使用正则表达式来替换特定的子字符串。我希望用作者的名字替换单元格中的一行,该名称可以是任意数量的字符,并且将包含一个电子邮件地址。保证在子字符串之前会有一个空格,并且后面跟着换行符(单元格中的多行)或逗号(单元格中的最后一项)。
我正在使用......
line = re.sub(' \S+[^,]', " " + author, line)
...尝试替换空格和潜在逗号之间的所有内容,但它在表达式的行中包含尾随逗号并将其替换为作者。我以前试过......
line = re.sub(' \S+(?!,)', " " + author, line)
...因为这听起来像是一个消极前瞻的工作,但我仍然无法保留尾随的逗号。
我是正则表达式的新手,所以可能有一些我想念的简单,但我无法让它工作。
答案 0 :(得分:0)
请改为尝试:
/[^\s,]+(?=[,\n])/