⊗ppPmRgVA 258 of 447 menu

Lookahead di Regex PHP

Terkadang kita perlu menyelesaikan masalah seperti ini: temukan string 'aaa' dan ganti dengan '!', tetapi hanya jika setelah 'aaa' terdapat 'x', sedangkan 'x' itu sendiri tidak diganti. Jika kita mencoba menyelesaikan masalah secara langsung, kita tidak akan berhasil:

<?php preg_replace('#aaax#', '!', 'aaax'); // akan menjadi '!', seharusnya '!x' ?>

Untuk menyelesaikan masalah ini, diperlukan cara untuk mengatakan bahwa 'x' tidak boleh diganti. Hal ini dilakukan dengan menggunakan kurung khusus (?= ), yang hanya melihat, tetapi tidak mengambil.

Kurung ini disebut positive lookahead. Positif - karena 'x' (dalam kasus kita) harus ada - hanya kemudian penggantian akan terjadi.

Mari kita terapkan kurung ini untuk menyelesaikan masalah kita:

<?php preg_replace('#aaa(?=x)#', '!', 'aaax'); // mengembalikan '!x' ?>

Ada juga negative lookahead - (?! ) - ini, sebaliknya, mengatakan bahwa sesuatu harus tidak ada. Dalam contoh berikutnya penggantian akan terjadi, hanya jika setelah 'aaa' tidak terdapat 'x':

<?php preg_replace('#aaa(?!x)#', '!', 'aaab'); // mengembalikan '!b' ?>

Diberikan sebuah string yang berisi nama fungsi:

<?php $str = 'func1() func2() func3()'; ?>

Dapatkan array nama fungsi dari string.

Diberikan sebuah string dengan tag:

<?php $str = '<a href="" class="eee" id="zzz">'; ?>

Dapatkan array nama atribut dari tag ini.

Indonesia
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Kami menggunakan cookie untuk operasi situs, analitik, dan personalisasi. Pemrosesan data dilakukan sesuai dengan Kebijakan Privasi.
terima semua atur tolak