⊗ppSpOtRg 79 of 83 menu

PHPにおける正規表現の使用最適化

正規表現は非常に重く、 比較的動作が遅いものです。 代替となる解決策がある場合には、 そちらを使用することが望ましいです。

例を見てみましょう。 ある文字列が感嘆符で始まっているかどうかを 確認する必要があるとします。 あるプログラマーはこの問題を正規表現で 解決することにしました:

<?php if (preg_match('#^!#', $str)) { echo 'はい'; } else { echo 'いいえ'; } ?>

しかし、このような問題にははるかに 高速に動作する解決策があります:

<?php if ($str[0] == '!') { echo 'はい'; } else { echo 'いいえ'; } ?>

正規表現は非常に重く、比較的動作が遅いものです。 代替となる解決策が常にある場合には、 そちらを使用することが望ましいです。

次のコードで、あるプログラマーは文字列に 部分文字列 '333' が含まれているかどうかを 確認しています。 このプログラマーの解決策を最適化してください。

コードは以下の通りです:

<?php $str = '1233345'; if (preg_match('#333#', $str)) { echo '含む'; } else { echo '含まない'; } ?>

次のコードで、あるプログラマーは文字列が .html で終わっているかどうかを 確認しています。 このプログラマーの解決策を最適化してください。

コードは以下の通りです:

<?php $str = 'index.html'; if (preg_match('#\.html$#', $str)) { echo 'はい'; } else { echo 'いいえ'; } ?>

文字列が .png または .jpg で 終わっているかどうかを確認するコードを 記述してください。

日本語
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItalianoქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
当サイトでは、サイトの動作、分析、パーソナライゼーションのためにクッキーを使用しています。 データ処理はプライバシーポリシーに従って行われます。
すべて受け入れる 設定 拒否