私はsuburb name
以下から抽出しようとしています:
12 street name, suburb name, CTG 1234
正規表現を使用してPHPで。
- 通りと郊外の名前はどちらも何語でも構いません。
- CTG は状態の頭字語であり、常に既知であり、常に同じです。
- その後に 4 桁の郵便番号が続きます。
次の正規表現を思いつきましたが、私が望むものを完全にキャッチできません。
/[\.|,]+\s*(.*?)[\.|,]+*\s*CTG\d{4,4}$/i
どこ:
CTG\d{4,4}$
左から郵便番号と州を見つけることです。[\.|,]*\s*
は、少なくとも 1 つのドットまたはコンマに一致し、その後にゼロまたは多数の空白が続きます。通りと郊外の名前の後に。(.*?)
私のターゲットをキャプチャすることです。郊外の名前。*?
したがって、貪欲ではありません。
上記は preg_match() で使用され、任意のサブジェクトが一致の配列を返します。
arrey[0]
= 試合全体arrey[1]=12
= 通りの名前、郊外の名前
ただし、http://www.regexplanet.comで試してみると、問題なく動作するようです。