⊗ppPmRgChG 230 of 447 menu

กลุ่มอักขระใน Regular Expression PHP

มีคำสั่งพิเศษที่ช่วยให้เลือกอักขระทั้งกลุ่มได้ในคราวเดียว คำสั่ง \d หมายถึง ตัวเลขตั้งแต่ 0 ถึง 9 คำสั่ง \w หมายถึง ตัวเลข ตัวอักษรละติน หรือเครื่องหมายขีดล่าง คำสั่ง \s หมายถึงช่องว่างหรืออักขระเว้นวรรค: ช่องว่าง ขึ้นบรรทัดใหม่ แท็บ คุณสามารถ กลับค่าคำสั่งได้โดยการเขียนตัวพิมพ์ใหญ่ ตัวอย่างเช่น ถ้า \d คือตัวเลข ดังนั้น \D คือ "ไม่ใช่ตัวเลข"

ตัวอย่าง

ลองหาตัวเลขทั้งหมด:

<?php $str = '1 12 123'; $res = preg_replace('#\d#', '!', $str); ?>

ผลลัพธ์ที่บันทึกลงในตัวแปรจะเป็นดังนี้:

'! !! !!!'

ตัวอย่าง

โอเปอเรเตอร์ทำซ้ำจะมองว่าคำสั่งกลุ่มเป็นหนึ่งหน่วย จึงไม่จำเป็นต้องใช้วงเล็บกลุ่ม ในตัวอย่างถัดไป รูปแบบการค้นหา จะเป็นดังนี้: ตัวเลขตั้งแต่ 0 ถึง 9 หนึ่งครั้งหรือมากกว่า:

<?php $str = '1 12 123 abc @@@'; $res = preg_replace('#\d+#', '!', $str); ?>

ผลลัพธ์ที่บันทึกลงในตัวแปรจะเป็นดังนี้:

'! ! ! abc @@@'

ตัวอย่าง

ในตัวอย่างถัดไป รูปแบบการค้นหา จะเป็นดังนี้: อะไรก็ได้หนึ่งครั้งหรือมากกว่า แต่ไม่ใช่ตัวเลขตั้งแต่ 0 ถึง 9:

<?php $str = '123abc3@@'; $res = preg_replace('#\D+#', '!', $str); ?>

ผลลัพธ์ที่บันทึกลงในตัวแปรจะเป็นดังนี้:

'123!3!'

ตัวอย่าง

ในตัวอย่างนี้ รูปแบบการค้นหาจะเป็นดังนี้: อักขระเว้นวรรคหนึ่งครั้ง:

<?php $str = '1 12 123 abc @@@'; $res = preg_replace('#\s#', '!', $str); ?>

ผลลัพธ์ที่บันทึกลงในตัวแปรจะเป็นดังนี้:

'1!12!123!abc!@@@'

ตัวอย่าง

ในตัวอย่างนี้ รูปแบบการค้นหาจะเป็นดังนี้: อักขระที่ไม่ใช่อักขระเว้นวรรคหนึ่งครั้งหรือมากกว่า สตริงย่อยทั้งหมดที่คั่นด้วยช่องว่างจะถูกแทนที่ ด้วย '!':

<?php $str = '1 12 123 abc @@@'; $res = preg_replace('#\S+#', '!', $str); ?>

ผลลัพธ์ที่บันทึกลงในตัวแปรจะเป็นดังนี้:

'! ! ! ! !'

ตัวอย่าง

ในตัวอย่างนี้ รูปแบบการค้นหาจะเป็นดังนี้: ตัวเลขหรือตัวอักษรหนึ่งครั้งหรือมากกว่า สตริงย่อยทั้งหมดที่ประกอบด้วยตัวเลขและตัวอักษร จะถูกแทนที่ด้วย '!':

<?php $str = '1 12 123a Abc @@@'; $res = preg_replace('#\w+#', '!', $str); ?>

ผลลัพธ์ที่บันทึกลงในตัวแปรจะเป็นดังนี้:

'! ! ! ! @@@'

ตัวอย่าง

ในตัวอย่างนี้ รูปแบบการค้นหาจะเป็นดังนี้: ไม่ใช่ตัวเลขและไม่ใช่ตัวอักษรหนึ่งครั้งหรือมากกว่า คำนิยามนี้ในกรณีของเราจะตรงกับ '@@@' และช่องว่างทั้งหมด (เพราะช่องว่างก็ ไม่ใช่ตัวเลขและไม่ใช่ตัวอักษร) โปรดสังเกต ว่าตอนท้ายมี '!' หนึ่งอัน - สตริง ' @@@' ที่มีช่องว่างอยู่ข้างหน้าถูกแปลงเป็นมัน:

$str = '1 12 123 Abc @@@'; $res = preg_replace('#\W+#', '!', $str);

ผลลัพธ์ที่บันทึกลงในตัวแปรจะเป็นดังนี้:

'1!12!123!Abc!'

โจทย์ฝึกหัด

กำหนดสตริง:

<?php $str = 'a1a a2a a3a a4a a5a aba aca'; ?>

เขียน Regular Expression ที่จะค้นหาสตริง ที่ มีตัวอักษร 'a' อยู่ที่ขอบทั้งสองด้าน และมีตัวเลขหนึ่งตัวอยู่ระหว่างกลาง

กำหนดสตริง:

<?php $str = 'a1a a22a a333a a4444a a55555a aba aca'; ?>

เขียน Regular Expression ที่จะค้นหาสตริง ที่ มีตัวอักษร 'a' อยู่ที่ขอบทั้งสองด้าน และมีตัวเลขจำนวนเท่าใดก็ได้อยู่ระหว่างกลาง

กำหนดสตริง:

<?php $str = 'aa a1a a22a a333a a4444a a55555a aba aca'; ?>

เขียน Regular Expression ที่จะค้นหาสตริง ที่ มีตัวอักษร 'a' อยู่ที่ขอบทั้งสองด้าน และมีตัวเลขจำนวนเท่าใดก็ได้อยู่ระหว่างกลาง (รวมถึง ศูนย์ตัวด้วย นั่นคือสตริง 'aa')

กำหนดสตริง:

<?php $str = 'avb a1b a2b a3b a4b a5b abb acb'; ?>

เขียน Regular Expression ที่จะค้นหาสตริง ในรูปแบบต่อไปนี้: มีตัวอักษร 'a' และ 'b' อยู่ที่ขอบทั้งสองด้าน และระหว่างกลาง - ไม่ใช่ตัวเลข

กำหนดสตริง:

<?php $str = 'ave a#b a2b a$b a4b a5b a-b acb'; ?>

เขียน Regular Expression ที่จะค้นหาสตริง ในรูปแบบต่อไปนี้: มีตัวอักษร 'a' และ 'b' อยู่ที่ขอบทั้งสองด้าน และระหว่างกลาง - ไม่ใช่ตัวอักษรและไม่ใช่ตัวเลข

กำหนดสตริง:

<?php $str = 'ave a#a a2a a$a a4a a5a a-a aca'; ?>

เขียน Regular Expression ที่จะแทนที่ช่องว่างทั้งหมด ด้วย '!'

ไทย
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
เราใช้คุกกี้สำหรับการทำงานของเว็บไซต์ การวิเคราะห์ และการปรับเนื้อหาให้เหมาะสมส่วนบุคคล การประมวลผลข้อมูลเกิดขึ้นตาม นโยบายความเป็นส่วนตัว.
ยอมรับทั้งหมด ปรับแต่ง ปฏิเสธ