php - 从地址字符串中提取邮政编码

标签 php regex string

我想知道如何在地址字符串中找到邮政编码并使用正则表达式使其成为自己的变量。

例如 $address = '123 My Street, My Area, My City, AA11 1AA'

我想要 $postcode = 'AA11 1AA'

我还想删除从地址字符串中找到的邮政编码。

到目前为止我有这个。

$address = strtolower(preg_replace('/[^a-zA-Z0-9_ %\[\]\.\(\)%&-]/s', '', $data[2]));

$postcode = preg_match("/^(([A-PR-UW-Z]{1}[A-IK-Y]?)([0-9]?[A-HJKS-UW]?[ABEHMNPRVWXY]?|[0-9]?[0-9]?))\s?([0-9]{1}[ABD-HJLNP-UW-Z]{2})$/i",$address,$post);
$postcode = $post;

最佳答案

这对我有用:

$value = "Big Ben, Westminster, London, SW1A 0AA, UK";

$pattern = "/((GIR 0AA)|((([A-PR-UWYZ][0-9][0-9]?)|(([A-PR-UWYZ][A-HK-Y][0-9][0-9]?)|(([A-PR-UWYZ][0-9][A-HJKSTUW])|([A-PR-UWYZ][A-HK-Y][0-9][ABEHMNPRVWXY])))) [0-9][ABD-HJLNP-UW-Z]{2}))/i";

preg_match($pattern, $value, $matches);

$value = $matches[0]; // Will give you SW1A 0AA

http://www.sitepoint.com/community/t/extract-uk-postcode-from-string/31962

关于php - 从地址字符串中提取邮政编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18234634/

相关文章:

php - 当用户再次访问同一页面时让用户保持登录状态?

regex - 如何使用 egrep 用逗号和数字搜索特定模式

c# - 如何在 C# 中将模式与正则表达式匹配,以应对正则表达式的挑战?

java - Android:无法请求以反斜杠结尾的 URL

jquery - 如何在 jQuery 中进行 "simple"查找和替换?

PHP 检查变量 isset、empty、define 等

php - 在 mysql 列中使用 UNIX 纪元?

javascript - 正则表达式如何检查消息不为空

swift - 循环遍历源代码中的多个实例?

java - 我在这个用于 netbeans 的 Java 正则表达式中缺少什么替换