Ungkapan biasa JavaScript
Ungkapan Biasa (Bahasa Inggeris: Regular Expression, selalunya disingkat sebagai regex, regexp atau RE dalam kod) menggunakan rentetan tunggal untuk menerangkan dan memadankan satu siri pola carian rentetan yang mematuhi peraturan sintaksis tertentu.
Mod carian boleh digunakan untuk carian teks dan penggantian teks.
Apakah ungkapan biasa?
Ungkapan biasa ialah corak carian yang dibentuk oleh jujukan aksara.
Apabila anda mencari data dalam teks, anda boleh menggunakan corak carian untuk menerangkan perkara yang ingin anda tanyakan.
Ungkapan biasa boleh menjadi aksara ringkas atau corak yang lebih kompleks.
Ekspresi biasa boleh digunakan untuk semua carian teks dan operasi penggantian teks.
Tatabahasa
Contoh:
Contoh analisis:
/php/i ialah ungkapan biasa.
php ialah corak (digunakan untuk mendapatkan semula).
i ialah pengubah suai (carian tidak sensitif huruf besar-besaran).
Menggunakan kaedah rentetan
Dalam JavaScript, ungkapan biasa biasanya digunakan dengan dua kaedah rentetan: search() dan replace().
kaedah search() digunakan untuk mendapatkan semula subrentetan tertentu dalam rentetan, atau mendapatkan semula subrentetan yang sepadan dengan ungkapan biasa dan mengembalikan kedudukan permulaan subrentetan itu.
kaedah replace() digunakan untuk menggantikan beberapa aksara dengan aksara lain dalam rentetan atau menggantikan subrentetan yang sepadan dengan ungkapan biasa.
kaedah carian() menggunakan ungkapan biasa
Instance
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php.cn</title> </head> <body> <p>搜索字符串 "php", 并显示匹配的起始位置:</p> <button onclick="myFunction()">点我</button> <p id="demo"></p> <script> function myFunction() { var str = "Visit php!"; var n = str.search(/php/i); document.getElementById("demo").innerHTML = n; } </script> </body> </html>
Jalankan instance»
Klik butang "Jalankan Contoh" untuk melihat tika dalam talian
Kaedah carian() menggunakan rentetan
Kaedah carian boleh menggunakan rentetan sebagai parameter. Argumen rentetan ditukar kepada ungkapan biasa:
Instance
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php.cn</title> </head> <body> <p>搜索字符串 "php", 并显示匹配的起始位置:</p> <button onclick="myFunction()">点我</button> <p id="demo"></p> <script> function myFunction() { var str = "Visit php!"; var n = str.search("php"); document.getElementById("demo").innerHTML = n; } </script> </body> </html>
Run Instance»
Klik Butang "Run Instance" untuk lihat contoh dalam talian
kaedah replace() menggunakan ungkapan biasa
kaedah ganti() String penggunaan
Kaedah replace() akan menerima rentetan sebagai parameter:
Instance
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php</title> </head> <body> <p>替换 "microsoft" 为 php" :</p> <button onclick="myFunction()">点我</button> <p id="demo">请访问 Microsoft!</p> <script> function myFunction() { var str = document.getElementById("demo").innerHTML; var txt = str.replace(/microsoft/i,"php"); document.getElementById("demo").innerHTML = txt; } </script> </body> </html>
Instance yang sedang berjalan»
Klik butang "Jalankan Instance" untuk melihat contoh dalam talian
Perasan tak?
Parameter ungkapan biasa boleh digunakan dalam kaedah di atas (menggantikan parameter rentetan) .
|
Pengubah suai ungkapan biasa
Pengubah suai Boleh jadi -tidak sensitif dalam carian global:
修饰符 | 描述 |
---|---|
i | 执行对大小写不敏感的匹配。 |
g | 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。 |
m | 执行多行匹配。 |
Corak ungkapan biasa
Tanda kurung segi empat sama digunakan untuk mencari dalam julat tertentu Aksara:
表达式 | 描述 |
---|---|
[abc] | 查找方括号之间的任何字符。 |
[0-9] | 查找任何从 0 至 9 的数字。 |
(x|y) | 查找任何以 | 分隔的选项。 |
Metacharacter ialah aksara dengan makna istimewa:
元字符 | 描述 |
---|---|
d | 查找数字。 |
s | 查找空白字符。 |
b | 匹配单词边界。 |
uxxxx | 查找以十六进制数 xxxx 规定的 Unicode 字符。 |
Kuantifier:
量词 | 描述 |
---|---|
n+ | 匹配任何包含至少一个 n 的字符串。 |
n* | 匹配任何包含零个或多个 n 的字符串。 |
n? | 匹配任何包含零个或一个 n 的字符串。 |
Menggunakan Objek RegExp
Dalam JavaScript, objek RegExp ialah objek ungkapan biasa dengan sifat dan kaedah yang telah ditetapkan.
Gunakan test()
Kaedah test() ialah kaedah ungkapan biasa.
Kaedah test() digunakan untuk mengesan sama ada rentetan sepadan dengan corak tertentu Jika rentetan mengandungi teks yang sepadan, ia mengembalikan benar, jika tidak ia mengembalikan palsu.
Contoh berikut digunakan untuk mencari aksara "e" dalam rentetan:
Instance
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php.cn</title> </head> <body> <p>替换 "Microsoft" 为 "php" :</p> <button onclick="myFunction()">点我</button> <p id="demo">请访问 Microsoft!</p> <script> function myFunction() { var str = document.getElementById("demo").innerHTML; var txt = str.replace("Microsoft","php"); document.getElementById("demo").innerHTML = txt; } </script> </body> </html>
Run Contoh »
Klik butang "Jalankan Contoh" untuk melihat tika dalam talian
Gunakan exec()
Kaedah exec() adalah biasa kaedah ungkapan. Kaedah
exec() digunakan untuk mendapatkan padanan ungkapan biasa dalam rentetan.
Fungsi ini mengembalikan tatasusunan, yang menyimpan hasil yang sepadan. Jika tiada padanan ditemui, nilai pulangan adalah batal.
Contoh berikut digunakan untuk mencari huruf "e" dalam rentetan:
Instance
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php.cn</title> </head> <body> <script> var patt1=new RegExp("e"); document.write(patt1.test("The best things in life are free")); </script> </body> </html>
Run Contoh »
Klik butang "Jalankan Contoh" untuk melihat contoh dalam talian
Manual Rujukan RegExp Lengkap
Untuk Manual Rujukan Objek RegExp yang lengkap, sila rujuk manual Rujukan RegExp JavaScript kami.
Manual rujukan ini mengandungi semua kaedah dan sifat objek RegExp.