Ungkapan biasa JavaScript

Ungkapan Biasa (Bahasa Inggeris: Ungkapan Biasa, sering 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.

Sintaks

/corak/pengubah suai;

Contoh:

var patt = /phpl/i

Contoh analisis:

/php/i ialah ungkapan biasa.

php ialah corak (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: carian () dan gantikan ().

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

contoh

Gunakan ungkapan biasa untuk mencari rentetan "php.cn", tidak peka huruf besar-kecil:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>PHP中文网(php.cn)</title>
</head>
<body>
<p>搜索字符串 "php.cn", 并显示匹配的起始位置:</p>
<button onclick="myFunction()">点我</button>
<p id="demo"></p>
<script>
    function myFunction() {
        var str = "Visit php.cn!";
        var n = str.search(/php.cn/i);
        document.getElementById("demo").innerHTML = n;
    }
</script>
</body>
</html>

Jalankan atur cara dan cuba


carian ( ) kaedah menggunakan rentetan

Kaedah carian boleh mengambil rentetan sebagai parameter. Parameter rentetan akan ditukar kepada ungkapan biasa:

Contoh

Dapatkan subrentetan "php.cn" dalam rentetan:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>PHP中文网(php.cn)</title>
</head>
<body>
<p>搜索字符串 "php.cn", 并显示匹配的起始位置:</p>
<button onclick="myFunction()">点我</button>
<p id="demo"></p>
<script>
    function myFunction() {
        var str = "Visit php.cn!";
        var n = str.search("php.cn");
        document.getElementById("demo").innerHTML = n;
    }
</script>
</body>
</html>

Jalankan program dan cuba


kaedah replace() menggunakan ungkapan biasa

Contoh

Gunakan ungkapan biasa dan ketakpekaan huruf besar untuk menggantikan Microsoft dalam rentetan dengan php.cn:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>PHP中文网(php.cn)</title>
</head>
<body>
<p>替换 "microsoft" 为 "php.cn" :</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.cn");
        document.getElementById("demo").innerHTML = txt;
    }
</script>
</body>
</html>

Jalankan atur cara untuk mencubanya


kaedah replace() menggunakan rentetan

kaedah replace() akan menerima rentetan sebagai parameter:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>PHP中文网(php.cn)</title>
</head>
<body>
<p>替换 "Microsoft" 为 "php.cn" :</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.cn");
    document.getElementById("demo").innerHTML = txt;
}
</script>
</body>
</html>

Jalankan atur cara untuk mencuba


Petua:

Parameter ungkapan biasa boleh digunakan dalam kaedah di atas (bukannya parameter rentetan).
Ekspresi biasa menjadikan fungsi carian lebih berkuasa (seperti ketidakpekaan huruf besar-besaran dalam contoh).


Pengubah suai ungkapan biasa

pengubah boleh menjadi tidak peka huruf besar-kecil dalam carian global:

修饰符描述
i执行对大小写不敏感的匹配。
g执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。
m执行多行匹配。

Corak ungkapan biasa

Kurungan segi empat sama digunakan untuk mencari aksara dalam julat tertentu:

表达式描述
[abc]查找方括号之间的任何字符。
[0-9]查找任何从 0 至 9 的数字。
(x|y)查找任何以 | 分隔的选项。

elemen Watak ialah watak dengan makna istimewa:

元字符描述
d查找数字。
s查找空白字符。
b匹配单词边界。
uxxxx查找以十六进制数 xxxx 规定的 Unicode 字符。

Kuantiti:

量词描述
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:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>PHP中文网(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>

Jalankan atur cara dan cuba


Anda boleh melakukan perkara di atas tanpa menetapkan pembolehubah ungkapan biasa Dua baris kod boleh digabungkan menjadi satu:

/e/.test("Perkara terbaik dalam hidup adalah percuma!")


Gunakan exec()

Kaedah exec() ialah kaedah ungkapan biasa. 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:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>PHP中文网(php.cn)</title>
</head>
<body>
<script>
    var patt1=new RegExp("e");
    document.write(patt1.exec("The best things in life are free"));
</script>
</body>
</html>

Jalankan atur cara untuk mencubanya



Meneruskan pembelajaran
||
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>PHP中文网(php.cn)</title> </head> <body> <p>搜索字符串 "php.cn", 并显示匹配的起始位置:</p> <button onclick="myFunction()">点我</button> <p id="demo"></p> <script> function myFunction() { var str = "Visit php.cn!"; var n = str.search(/php.cn/i); document.getElementById("demo").innerHTML = n; } </script> </body> </html>
  • Cadangan kursus
  • Muat turun perisian kursus