1

文字列が郵便番号かどうかを確認するための正規表現があります。しかし、完全なアドレス (または、可能であれば任意の文字列) からそれを抽出できるようにしたいと考えています。

これが私の現在の正規表現です:

/^((\d{5}-\d{4})|(\d{5})|([a-zA-Z]\d[a-zA-Z]\s\d[a-zA-Z]\d)|([a-zA-Z]\d[a-zA-Z]\d[a-zA-Z]\d))$/

必要に応じて、関数を使用するつもりです (PHP で確認しています) が、できれば正規表現を使用したいと考えています。

4

3 に答える 3

2

PHP は、次のようにグループ化を()配列に抽出しpreg_match()ます。

$matches = array();
$pattern = "/^((\d{5}-\d{4})|(\d{5})|([a-zA-Z]\d[a-zA-Z]\s\d[a-zA-Z]\d)|([a-zA-Z]\d[a-zA-Z]\d[a-zA-Z]\d))$/";
preg_match($pattern, $your_source, $matches);
print_r($matches);
于 2011-10-27T19:15:07.473 に答える
0

完全な住所で作業しているので、住所を正確に抽出して検証し、その構成要素 (完全な郵便番号を含む) を解析して、適切な応答を提供できるサービスに頼ってみませんか? それは確かに推測を排除します。下のスクリーンショットは、あらゆる種類のテキストから住所を抽出できる SmartyStreets のツールを示しています。完全な開示のために、私はSmartyStreetsのソフトウェア開発者です。

https://smartystreets.com/account/extract

LiveAddress 抽出

于 2012-01-12T15:23:48.657 に答える