Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗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
当サイトでは、サイトの動作、分析、パーソナライゼーションのためにクッキーを使用しています。 データ処理はプライバシーポリシーに従って行われます。
すべて受け入れる 設定 拒否