⊗jsSpREESCh 99 of 294 menu

Melarikan Aksara Khas dalam Ungkapan Biasa JavaScript

Katakan kita mahu aksara khas mewakili dirinya sendiri. Untuk ini, ia perlu dilarikan menggunakan garis condong belakang. Mari kita lihat contoh.

Contoh

Dalam contoh berikut, pengarang ungkapan biasa mahu corak carian kelihatan seperti ini: huruf 'a', kemudian tanda tambah '+', kemudian huruf 'x'. Walau bagaimanapun, pengarang kod tidak melarikan aksara '+' dan oleh itu corak carian sebenarnya kelihatan seperti ini: huruf 'a' satu atau lebih kali, kemudian huruf 'x':

let str = 'a+x ax aax aaax'; let res = str.replace(/a+x/g, '!');

Hasilnya, yang berikut akan disimpan ke dalam pembolehubah:

'a+x ! ! !'

Contoh

Sekarang pengarang telah melarikan tanda tambah dengan garis condong belakang. Sekarang corak carian kelihatan seperti yang sepatutnya: huruf 'a', kemudian tanda tambah '+', kemudian huruf 'x'.

let str = 'a+x ax aax aaax'; let res = str.replace(/a\+x/g, '!');

Hasilnya, yang berikut akan disimpan ke dalam pembolehubah:

'! ax aax aaax'

Contoh

Dalam contoh ini, corak kelihatan seperti ini: huruf 'a', kemudian titik '.', kemudian huruf 'x':

let str = 'a.x abx azx'; let res = str.replace(/a\.x/g, '!');

Hasilnya, yang berikut akan disimpan ke dalam pembolehubah:

'! abx azx'

Contoh

Dalam contoh seterusnya, pengarang terlupa untuk melarikan titik dan semua substring ditangkap oleh ungkapan biasa, kerana titik yang tidak dilarikan mewakili sebarang aksara:

let str = 'a.x abx azx'; let res = str.replace(/a.x/g, '!');

Hasilnya, yang berikut akan disimpan ke dalam pembolehubah:

'! ! !'

Perhatian

Perhatikan bahawa jika anda terlupa garis condong belakang untuk titik (apabila ia sepatutnya mewakili dirinya sendiri) - ini mungkin tidak disedari:

'a.x'.replace(/a.x/g, '!'); // mengembalikan '!', seperti yang kita mahu

Secara visual ia berfungsi dengan betul (kerana titik mewakili sebarang aksara, termasuk titik biasa '.'). Tetapi jika kita menukar rentetan, di mana penggantian berlaku - kita akan melihat ralat kami:

'a.x abx azx'.replace(/a.x/g, '!'); // mengembalikan '! ! !', tetapi dijangkakan '! abx azx'

Senarai aksara khas dan biasa

Jika melarikan aksara biasa - tiada apa yang teruk akan berlaku - ia tetap akan mewakili dirinya sendiri. Pengecualian - digit, mereka tidak boleh dilarikan.

Sering timbul keraguan, sama ada aksara tertentu adalah khas. Sesetengah sehingga melarik semua aksara yang mencurigakan berturut-turut. Walau bagaimanapun, ini adalah amalan yang tidak baik (mengacaukan ungkapan biasa dengan garis condong belakang).

Aksara khas ialah: $ ^ . * + ? \ / {} [] () |

Bukan aksara khas: @ : , ' " ; - _ = < > % # ~ `& !

Tugas praktikal

Diberi rentetan:

let str = 'a.a aba aea';

Tulis ungkapan biasa yang akan mencari rentetan 'a.a', tanpa menangkap yang lain.

Diberi rentetan:

let str = '2+3 223 2223';

Tulis ungkapan biasa yang akan mencari rentetan '2+3', tanpa menangkap yang lain.

Diberi rentetan:

let str = '23 2+3 2++3 2+++3 345 567';

Tulis ungkapan biasa yang akan mencari rentetan '2+3', '2++3', '2+++3', tanpa menangkap yang lain (+ boleh ada sebarang kuantiti).

Diberi rentetan:

let str = '23 2+3 2++3 2+++3 445 677';

Tulis ungkapan biasa yang akan mencari rentetan '23', '2+3', '2++3', '2+++3', tanpa menangkap yang lain.

Diberi rentetan:

let str = '*+ *q+ *qq+ *qqq+ *qqq qqq+';

Tulis ungkapan biasa yang akan mencari rentetan '*q+', '*qq+', '*qqq+', tanpa menangkap yang lain.

Diberi rentetan:

let str = '[abc] {abc} abc (abc) [abc]';

Tulis ungkapan biasa yang akan mencari rentetan dalam kurungan segi empat sama dan menggantikannya dengan '!'.

Melayu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Kami menggunakan kuki untuk operasi laman web, analisis dan personalisasi. Pemprosesan data dijalankan mengikut Polisi Kerahsiaan.
terima semua tataletak tolak