⊗ppPmRgENP 256 of 447 menu

PHPの正規表現内の名前付きキャプチャグループ

正規表現内でキャプチャグループを使う方法を思い出してみましょう:

<?php $res = preg_replace('#([a-z])\1#', '!', $str); ?>

キャプチャグループに番号ではなく名前でアクセスした方が便利な状況があります。 そのためには、キャプチャグループに名前を付ける必要があります:

<?php $res = preg_replace('#(?<letter>[a-z])#', '!', $str); ?>

これで、\k<name> という構文を使って、このキャプチャグループにアクセスできます:

<?php $res = preg_replace('#(?<letter>[a-z])\k<letter>#', '!', $str); ?>

説明した名前付きキャプチャグループには、他にもいくつかの代替構文があります:(?P=name)\k'name'\k{name}

次の文字列が与えられます:

<?php $str = '12:59:59 12:59:12 09:45:09'; ?>

時間(時)と秒が一致する全ての時刻部分文字列を見つけてください。

日本語
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
当サイトでは、サイトの動作、分析、パーソナライゼーションのためにクッキーを使用しています。 データ処理はプライバシーポリシーに従って行われます。
すべて受け入れる 設定 拒否