新手请教:正则表达式反向引用的疑问
各位前辈,大家好!我是菜鸟,有事请教。
我最近在看《细说PHP》,看书里讲,正则表达式里的每个子表达式(用()包含起来的),在不添加任何非捕获元字符的情况下,是按照从左至右,每个子表达式的匹配结果存进缓冲区,并用编号\1至\99引用,不知道我这么描述对不对。现在有两个问题:
1、书上说,使用编号引用子表达式,要在编号前加反斜线转义,这条很纠结,我试的是不需要的,是不是跟什么版本有关系?
2、表达式中,某个子表达式加了元字符?:,这样就不会存储匹配结果,那么缓冲区的编号就不会加一,也就没办法用编号来引用,那么,可以重复调用这个子表达式吗?
感谢!
回复讨论(解决方案)
你先举例说明 是不需要的
感谢版主回复。我在PHP里,用preg_match做匹配,模式是'^([a-zA-Z]*)\d+\1$',就是想匹配字母+数字+字母,匹配字符串'demo123demo'返回yes。如果在模式里的编号前添加反斜线,就返回false了。
上面是我自己试的。然后我百度了几个“正则表达式参考手册”,几个的例子里都是不用添加的。
附链接(不知道贴链接会不会违反发帖守则):https://translate.google.com.hk/?hl=zh-CN&tab=wT,里面第6点的例子是没有的。
好吧这个问题我只是想扩展一下确定是不是存在“版本差异”的问题,我真正迫切想得到答案的是第二个问题,麻烦版主了!
重复调用跟引用是一个意思吗? 如果是的话,你不是知道答案了吗。
/^([a-zA-Z]*)\d+ \1$/
这不就是 在编号前加反斜线转义 吗?
你的第二问是这个意思吗?
/^(?=[a-zA-Z]+)\d+(?=[a-zA-Z]+)$/
哈哈,这么一来就明白了。荣幸荣幸两位版主都出来了。
第一个加反斜线转义,我看的那本书上写的是编号本身就是\1到\99,要引用时要再加一条反斜线,也就是'\\1',书上的实例就是这样,昨晚感觉不对,才发现再加一条反斜线就是匹配字符串'\1'。看来书不能全信呀
十分感谢两位!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Mistlock Kingdom ialah permainan dunia terbuka di mana pemain boleh bermain sebagai Sons of Fire untuk terus hidup dan meneroka. Permainan ini menggabungkan hiburan unik cabaran RPG tindakan, membawa pemain kejutan dan kegembiraan yang tidak berkesudahan. Dalam permainan, pemain boleh meneroka sumber, persekitaran, senjata dan banyak lagi. Sesetengah pemain baru mungkin ingin tahu tentang cara untuk memulakan permainan. Dalam pengenalan dan perkongsian ini, kami akan memberikan anda beberapa panduan permulaan yang berkaitan. Petua untuk Pemula ke Kerajaan Kunci Kabus: Tahap bahaya kawasan yang diselubungi racun adalah berbeza Semasa proses penerokaan, kawasan baharu peta akan dibuka kuncinya secara beransur-ansur dan lokasi kawasan yang diselubungi racun dapat dilihat. Peta akan dibezakan dengan dua warna Kawasan biru boleh dimasukkan untuk masa yang singkat Masa anda boleh tinggal juga akan berbeza-beza bergantung pada tahap keupayaan watak.

Anchor Arrival ialah permainan kad berasaskan giliran 3D dengan tema 2D gadis cantik definisi tinggi. Ia menyediakan gabungan watak yang kaya dan menarik untuk diterokai dan dialami oleh pemain. Ia mempunyai banyak kombinasi hebat barisan pemain baharu juga orang baru yang ingin tahu. Apakah watak berkuasa yang disyorkan dalam kumpulan ini? -watak letupan jenis guruh sasaran Outputnya sangat meletup, dan pengalaman itu akan menjadi sangat mesra kepada pendatang baru, jadi sangat disyorkan untuk memilihnya. Adalah disyorkan untuk memilih gabungan "Alice" + "Antelope" untuk bonus 10 cabutan Alice ialah watak yang paling layak untuk mengeluarkan atribut goldpire, dan tidak sedikit pun lebih kuat daripada dua watak lain dalam kumpulan kad pemula. . Alice boleh lulus istimewa

Pengesahan ungkapan biasa PHP: Pengesanan format nombor Semasa menulis program PHP, selalunya perlu untuk mengesahkan data yang dimasukkan oleh pengguna Salah satu pengesahan biasa adalah untuk memeriksa sama ada data mematuhi format nombor yang ditentukan. Dalam PHP, anda boleh menggunakan ungkapan biasa untuk mencapai pengesahan jenis ini. Artikel ini akan memperkenalkan cara menggunakan ungkapan biasa PHP untuk mengesahkan format nombor dan memberikan contoh kod khusus. Mula-mula, mari kita lihat keperluan pengesahan format nombor biasa: Integer: hanya mengandungi nombor 0-9, boleh bermula dengan tanda tambah atau tolak dan tidak mengandungi titik perpuluhan. titik terapung

Untuk mengesahkan alamat e-mel di Golang menggunakan ungkapan biasa, ikut langkah berikut: Gunakan regexp.MustCompile untuk mencipta corak ungkapan biasa yang sepadan dengan format alamat e-mel yang sah. Gunakan fungsi MatchString untuk menyemak sama ada rentetan sepadan dengan corak. Corak ini merangkumi kebanyakan format alamat e-mel yang sah, termasuk: Nama pengguna tempatan boleh mengandungi huruf, nombor dan aksara khas: !.#$%&'*+/=?^_{|}~-`Nama domain mesti mengandungi sekurang-kurangnya Satu huruf, diikuti dengan huruf, nombor atau sempang Domain peringkat teratas (TLD) tidak boleh lebih daripada 63 aksara.

Dalam Go, anda boleh menggunakan ungkapan biasa untuk memadankan cap masa: susun rentetan ungkapan biasa, seperti yang digunakan untuk memadankan cap masa ISO8601: ^\d{4}-\d{2}-\d{2}T \d{ 2}:\d{2}:\d{2}(\.\d+)?(Z|[+-][0-9]{2}:[0-9]{2})$ . Gunakan fungsi regexp.MatchString untuk menyemak sama ada rentetan sepadan dengan ungkapan biasa.

Crown of the Ancients ialah permainan mudah alih kad berkualiti tinggi dan strategik berdasarkan pengembaraan ajaib Barat. Penjelajahan rahsia dalam permainan, pengembaraan runtuhan, kejohanan kebangsaan dan permainan istimewa lain sedang menunggu untuk anda alami. Jadi bagi pemain pemula, jika mereka ingin memulakan permainan ini dengan cepat, panduan pemula amat diperlukan Hari ini, editor akan membawakan anda panduan yang berkaitan, mari lihat. Gambaran keseluruhan panduan permainan untuk orang baru dalam Crown of Ancients, dan sekolah pembukaan: 1. Aliran pengumpulan berlian: Semuanya tertumpu pada pengumpulan berlian, dan kemudian anda mula bekerja keras selepas meninggalkan kampung. Kecuali senjata ajaib utama, tiga aktiviti roda tenaga, dan lain-lain, yang memerlukan berlian, yang lain diabaikan. dan jangan paksa. Kelebihan: Anda hanya perlu bermain-main untuk mengumpul berlian Selepas meninggalkan kampung, anda boleh dengan cepat mengakses aktiviti terkini dengan berlian, mendapatkan siri wira perkakasan baharu dan berlian rosak.

Ungkapan Biasa PHP: Padanan Tepat dan Pengecualian Ungkapan tetap kemasukan kabur ialah alat padanan teks yang berkuasa yang boleh membantu pengaturcara melakukan carian, penggantian dan penapisan yang cekap semasa memproses teks. Dalam PHP, ungkapan biasa juga digunakan secara meluas dalam pemprosesan rentetan dan pemadanan data. Artikel ini akan menumpukan pada cara melakukan pemadanan tepat dan mengecualikan operasi kemasukan kabur dalam PHP dan akan menggambarkannya dengan contoh kod khusus. Padanan tepat Padanan tepat bermaksud padanan hanya rentetan yang memenuhi syarat yang tepat, bukan sebarang variasi atau perkataan tambahan.

Bahasa C atau C++: Mana Yang Lebih Sesuai untuk Pengaturcara Baharu Dalam era perkembangan pesat teknologi moden, pembelajaran program telah menjadi pilihan yang semakin popular, sama ada sebagai sebahagian daripada pembangunan kerjaya atau sebagai cara untuk meningkatkan kemahiran berfikir logik. Di antara banyak bahasa pengaturcaraan, bahasa C dan C++ adalah bahasa yang sangat klasik dan representatif Ramai orang keliru tentang cara memilih bahasa C atau C++ sebagai bahasa pengaturcaraan peringkat permulaan. Jadi, adakah bahasa C lebih sesuai untuk pemula pengaturcaraan, atau adakah C++ lebih sesuai? Perlu contoh kod khusus untuk
