Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
古い ereg 式を preg_match に変換する助けが必要です。気圧計(高度計)を空港のMETARから取り出したいと思っています。
ereg('^(A|Q)([0-9]{4})',$part,$pieces)
上記は、preg_match に変換する必要がある式です。これを次のように試しましたが、「0」が返されます。
preg_match('/^(A)([0-9]{4})/',$metar)
METARに慣れていない方のために説明すると、次のようになります。
^部分文字列が文字列の先頭にないため、開始アンカーを削除する必要があります。
^
何かを抽出したい場合は、結果変数を追加する必要があります:
if (preg_match('/([AQ])([0-9]{4})/',$metar, $match)) print_r($match);
セキュリティを強化するために、単語境界を追加できることに注意してください。
if (preg_match('/\b([AQ])([0-9]{4})\b/',$metar, $match)) print_r($match);