使用正则表达式从较长的字符串中提取字符串的一部分

时间:2014-03-05 06:54:16

标签: regex

我正在努力解决某个特定问题。我已将用于营销目的的列表下载到CSV文件中,但我可以在字段上使用正则表达式。我已经为其他字段管理了正则表达式,但是一个部分是以下格式的地址

Fallow Field,Pannel,Harrogate,北约克郡HG1

但也可以更短,例如

Holly House,Leeds LS12

我正在寻找一些正则表达式来提取字段的每个部分并将它们分成不同的列。我以为我已经成功(?<=\,)(.*?)(?=\,])但没有到达任何地方。所有帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

你可以从行尾看一下。 如果您知道该行总是以邮政编码结尾,您可以匹配:

([A-Z]+\d+)$

在此之前的任何事情,从最后一个逗号开始,将是城市(除非你的名字中有逗号的城市 - 然后你被搞砸了):

,([^,]+)\s+([A-Z]+\d+)$

之前的任何事情都是猜测,因为我不知道你的数据是什么样的。您必须决定最终逗号的所有内容。