关于正则表达式中\b的认识
\b用来设置单词界限。匹配单词(由字母数字或下划线组成的)的开始或结束(匹配开始时,单词之前不能有\w;匹配结束时,单词之后不能有\w)。写在表达式某个字符或字符串之前,表示此字符或字符串之前不能有\w对应的字符;写在字符后面,表示此字符之后不能有\w对应的字符。 所以\b可以只有一个放在字符前面或后面,也可以有2个(表示字符前后都不能有\w对应的字符)。
先看正确的情况
图1
注:1.如果\b描述的不是由字母数字或下划线组成的单词,则表达式定义错误,永远不会有字符串与其匹配。如图2:
图2
2.目标字符串中匹配的只是单独的单词,不包括前后的间隔(如空格,\W等),图1中匹配的“Russell”字符两边的空格,没有计入(测试工具显示没有蓝色背景填充)。
目的:匹配独立的单词或字符串的部分,业务规则是查找所有有单词“Russell”独立出现的地方。如表达式\bRussell\b 则Russell123abc不匹配,因为Russell后不应该跟字母或数字或下划线,Russell 123abc,Russell@123abc都匹配。
3.特殊情况。自相矛盾的表达式定义。
\b只是用来限定由字母数字或下划线构成的单词,
如果表达式\b之后还有其他表达式,则表达式\b之后的表达式一定不能是\w或者不能是\w中的内容,因为
例子,表达式\bhi\bnihao,意思是单词hi前后不能有\w的内容,并且要求目标字符串有hi,并且hi之后紧跟"nihao"字符。即这个表达式的定义就是自相矛盾的。
因为:根据\b的定义,\b只是确保下列情况,目标字符串才能匹配:\b前后的字符不能有\w,所以非\w(或者说\W)的字符在\b前后会匹配上。注意,这里要求要想匹配上一定是非\w的字符,所以正则的潜台词已经说了:匹配上\b的字符身边一定就是非\w字符了,所以要在\b表达式之后再加上非\w的其他表达式,才有可能让目标字符串匹配上。
所以类似这样的正则永远不会被匹配:\bhi\bnihao 目标字符串hinihao hi nihao hi*nihao hi @#$nihao 。。。
因为\bhi\b要求了hi前后不能有字母数字或下划线的字符,并且hi之后紧接着要是nihao字符串。所以hi前后这能是空格!@#¥%等特殊字符,而表达式中定义紧接着hi之后的是nihao,所以永远都不会有目标字符串和此正则匹配。
办法:在定义正则时,就把这个非\w用正则考虑进去(写进表达式中),修改正则为\bhi\b\W+nihao 则有
hinihao
hi nihao
hi@nihao
hi!@#$ nihao
后三个都匹配
Atas ialah kandungan terperinci 关于正则表达式中\b的认识. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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



Ungkapan biasa PHP ialah alat yang berkuasa untuk pemprosesan dan penukaran teks. Ia boleh mengurus maklumat teks dengan berkesan dengan menghuraikan kandungan teks dan menggantikan atau memintasnya mengikut corak tertentu. Antaranya, aplikasi biasa ungkapan biasa adalah untuk menggantikan rentetan bermula dengan aksara tertentu Kami akan menerangkannya seperti berikut

Ungkapan biasa Golang menggunakan aksara paip | untuk memadankan berbilang perkataan atau rentetan, memisahkan setiap pilihan sebagai ungkapan OR logik. Contohnya: padanan "musang" atau "anjing": musang|padanan anjing "cepat", "coklat" atau "malas": (cepat|coklat|malas) sepadan dengan "Pergi", "Python" atau "Java": Pergi| Python |Java memadankan perkataan atau kod zip 4 digit: ([a-zA

Cara mengalih keluar bahasa Cina menggunakan peraturan biasa dalam PHP: 1. Buat fail contoh PHP 2. Tentukan rentetan yang mengandungi bahasa Cina dan Inggeris 3. Gunakan "preg_replace('/([\x80-\xff]*)/i'; '',$a);" Kaedah biasa boleh mengalih keluar aksara Cina daripada hasil pertanyaan.

Dalam artikel ini, kita akan belajar cara mengalih keluar teg HTML dan mengekstrak kandungan teks biasa daripada rentetan HTML menggunakan ungkapan biasa PHP. Untuk menunjukkan cara mengalih keluar teg HTML, mari kita tentukan rentetan yang mengandungi teg HTML dahulu.

Python, sebagai bahasa pengaturcaraan peringkat tinggi, mudah dipelajari dan digunakan. Sebaik sahaja anda perlu menulis program Python, anda pasti akan menghadapi ralat sintaks, dan ralat sintaks ungkapan adalah perkara biasa. Dalam artikel ini, kita akan membincangkan cara menyelesaikan ralat sintaks ungkapan dalam Python. Ralat sintaks ungkapan adalah salah satu ralat yang paling biasa dalam Python, dan ia biasanya disebabkan oleh penggunaan sintaks yang salah atau kehilangan komponen yang diperlukan. Dalam Python, ungkapan biasanya terdiri daripada nombor, rentetan, pembolehubah dan pengendali. paling biasa

Berkongsi petua tentang menggunakan ungkapan biasa PHP untuk melaksanakan fungsi penggantian bahasa Cina Dalam pembangunan web, kami sering menghadapi situasi di mana kandungan bahasa Cina perlu diganti. Sebagai bahasa skrip sebelah pelayan yang popular, PHP menyediakan fungsi ekspresi biasa yang berkuasa, yang boleh merealisasikan penggantian bahasa Cina dengan mudah. Artikel ini akan berkongsi beberapa teknik untuk menggunakan ungkapan biasa untuk melaksanakan penggantian bahasa Cina dalam PHP dan memberikan contoh kod khusus. 1. Gunakan fungsi preg_replace untuk melaksanakan penggantian bahasa Cina Fungsi preg_replace dalam PHP boleh digunakan

Keselamatan tapak web telah menarik lebih banyak perhatian, dan menggunakan protokol HTTPS untuk memastikan keselamatan penghantaran data telah menjadi bahagian penting dalam pembangunan tapak web semasa. Dalam pembangunan PHP, bagaimana untuk menggunakan ungkapan biasa untuk mengesahkan sama ada URL adalah protokol HTTPS? Mari ketahui di bawah. Ungkapan biasa Ungkapan biasa ialah ungkapan yang digunakan untuk menerangkan peraturan Ia adalah alat yang berkuasa untuk memproses teks dan digunakan secara meluas dalam pemadanan teks, carian dan penggantian. Dalam pembangunan PHP, kita boleh menggunakan ungkapan biasa untuk memadankan http dalam URL

Contoh penggantian biasa PHP: cepat menguasai kemahiran penggantian Dengan perkembangan Internet, pembangunan laman web telah menjadi lebih biasa. Dalam pembangunan tapak web, selalunya perlu untuk menggantikan rentetan, dan ungkapan biasa ialah alat yang sangat berkuasa yang boleh mencari dan menggantikan rentetan dengan cepat. Artikel ini akan memperkenalkan cara menggunakan ungkapan biasa dalam bahasa PHP untuk melaksanakan operasi gantian dan menyediakan contoh kod khusus untuk membantu pembaca menguasai teknik penggantian dengan cepat. Fungsi 1.preg_replace dalam PHP, anda boleh menggunakan preg
