


Ringkasan definisi ungkapan biasa javascript (tatabahasa)_kemahiran javascript
Artikel ini membincangkan tentang definisi ungkapan biasa javascript (tatabahasa). Kongsikan dengan semua orang untuk rujukan anda, butirannya adalah seperti berikut:
Terdapat dua cara untuk mentakrifkan ungkapan biasa: satu ialah memanggil RegExp() secara langsung, dan yang kedua ialah mentakrifkannya secara langsung dengan literal, iaitu, var re = /peraturan biasa/;
Kedua-dua kaedah takrifan pada dasarnya memanggil kaedah RegExp()
Apabila memanggil kod biasa yang sama, gelagat dalam ECMAScript3 dan ECMAScript5 adalah berbeza sama sekali
function reg(){ var re = /\sjavascript/; return re; }
Panggil kaedah reg() beberapa kali dalam ECMAScript3 dan ECMAScript5 masing-masing
Dalam ECMAScript3, objek RegExp yang sama dipanggil, tetapi dalam ECMAScript5, objek RegExp yang berbeza dipanggil kerana setiap kali ia dilaksanakan dalam EXCMAScript5, objek RegExp baharu dijana
Jadi akan ada bahaya tersembunyi dalam program dalam ECMAScript3, kerana selagi objek diubah suai di satu tempat, semua tempat yang memanggil objek ini akan berubah.
1. Watak langsung
biasanya padan dengan aksara secara langsung dalam ungkapan biasa, seperti
/javascript/
Akan dipadankan secara langsung dengan javascript aksara
juga menyokong padanan aksara bukan huruf, seperti:
o aksara NUL (u0000)
T aksara tab (u0009)
n Watak pemisah baris (u000A)
v Tab Menegak (u000B)
f Bentuk aksara suapan (u000C)
r Watak pemulangan pengangkutan (u000D)
aksara Latin xnn yang ditentukan oleh nombor perenambelasan nn, contohnya, x0A bersamaan dengan
Watak Unicode uxxxx yang ditentukan oleh nombor heksadesimal xxxx, contohnya u0009 bersamaan dengan
Kawalan cX aksara ^X, contohnya, cJ bersamaan dengan aksara baris baharu n
Dalam ungkapan biasa, terdapat beberapa tanda baca dengan makna istimewa yang perlu dilepaskan dengan ''
^$.* ?=!:|/()[]{}
2. Kelas watak
[...] Mana-mana aksara dalam kurungan segi empat sama
[^...] Mana-mana aksara yang tidak berada dalam kurungan segi empat sama
. Mana-mana watak
w Mana-mana perkataan yang terdiri daripada aksara ASCII, bersamaan dengan [a-zA-Z0-9]
W Mana-mana perkataan yang tidak terdiri daripada aksara ASCII, bersamaan dengan [^a-zA-Z0-9]
Sebarang ruang putih Unikod
S Mana-mana aksara ruang putih bukan Unikod, ambil perhatian bahawa w dan S adalah berbeza
d Mana-mana nilai ASCII, bersamaan dengan [0-9]
D Mana-mana aksara kecuali nombor ASCII, bersamaan dengan [^0-9]
[b] Ruang belakang literal (kes khas)
3. Ulang (bilangan kali)
? 0 atau 1 kali
1 kali atau lebih
* Sebarang bilangan kali
{n} n kali
{m,n} Minimum m kali, maksimum n kali
{n,} n kali atau lebih
Lalai lalai untuk ungkapan biasa ialah padanan tamak
Seperti [a b ] Jika anda mahu padankan aaabb, ia tidak akan sepadan dengan ab, aab, dsb., ia hanya sepadan dengan aaabb
[a ?b ?] Ini akan sepadan dengan aaab Mengapa terdapat perbezaan ini?
Jawapan: ? Mari buat padanan biasa tidak tamak, maka b hanya akan padankan satu b di sini, jadi mengapa padanan 3? Ini kerana padanan corak ungkapan biasa sentiasa mencari kedudukan padanan pertama yang mungkin dalam rentetan.
4 Pilihan | |. digunakan untuk memisahkan aksara pilihan, seperti [ab|cd], yang boleh memadankan sama ada ab atau cd
Nota:: Urutan percubaan padanan item yang dipilih adalah kiri → kanan, jadi. [a|ab], apabila a dipadankan, ab tidak akan dipadankan, walaupun ab adalah padanan yang lebih baik () 1. Item individu dianggap sebagai subungkapan /java(script)?/ Boleh memadankan javascript dan java Iaitu, bahagian kurungan membentuk subungkapan, dan anda boleh melakukan | * dan operasi lain pada subungkapan
2. Tentukan sub-corak dalam pola lengkap Yang terakhir boleh merujuk kepada ungkapan yang disertakan dalam kurungan /(['"])[a-z]1/ 1 merujuk kepada ungkapan dalam kurungan pertama, jadi Dipetik [. '"]
3. Rujuk subungkapan sebelumnya di belakang
Nota: /['"][a-z]['"]/ Ungkapan biasa ini bermaksud petikan tunggal atau petikan berganda ditambah huruf kecil ditambah dengan single sebelumnya petikan atau petikan berganda, dan petikan tunggal dan berganda sebelum dan seterusnya tidak dipadankan. Jika anda mahu padankan, anda boleh menulis seperti ini [(['"])[a-z]1]. Tambah nombor Anda boleh memetik ungkapan dalam kurungan sebelumnya
5. Nyatakan kedudukan yang sepadan (titik utama)^ Padan dengan permulaan rentetan Dalam pengambilan berbilang baris, sepadan dengan permulaan baris
$ Padan dengan penghujung rentetan Dalam pengambilan berbilang baris, padan dengan penghujung baris
b Padan dengan sempadan perkataan, ringkasnya, ia ialah kedudukan antara aksara w dan W, atau kedudukan antara aksara w dan permulaan atau akhir rentetan
B Memadankan kedudukan sempadan bukan perkataan
(?=p) Penegasan pandangan hadapan lebar sifar memerlukan aksara berikut sepadan dengan p, tetapi tidak boleh memasukkan aksara yang sepadan dengan p
(?!p) Penegasan pandangan negatif lebar sifar memerlukan watak seterusnya tidak sepadan dengan p
6ditulis di sebelah kanan ungkapan biasa literal //
saya melakukan padanan tidak sensitif huruf besar dan kecilg melakukan perlawanan global, ringkasnya, ia mencari semua perlawanan dan bukannya berhenti selepas yang pertama ditemui
m Corak padanan berbilang baris, ^ sepadan dengan permulaan baris dan permulaan rentetan, $ padan dengan penghujung baris dan penghujung rentetan /java$/m boleh sepadan dengan javafunc
Nota: Apabila ungkapan biasa adalah global, lastIndex yang ditetapkan pada masa ini akan ditetapkan kepada kedudukan semasa setiap kali exec() dan test() dilaksanakan bermula dari kedudukan lastIndex, jadi sebaiknya tetapkan lastIndex kepada 0 setiap kali ia dilaksanakan.
Saya harap artikel ini akan membantu semua orang dalam pengaturcaraan JavaScript.
Memahami bagaimana enjin JavaScript berfungsi secara dalaman adalah penting kepada pemaju kerana ia membantu menulis kod yang lebih cekap dan memahami kesesakan prestasi dan strategi pengoptimuman. 1) aliran kerja enjin termasuk tiga peringkat: parsing, penyusun dan pelaksanaan; 2) Semasa proses pelaksanaan, enjin akan melakukan pengoptimuman dinamik, seperti cache dalam talian dan kelas tersembunyi; 3) Amalan terbaik termasuk mengelakkan pembolehubah global, mengoptimumkan gelung, menggunakan const dan membiarkan, dan mengelakkan penggunaan penutupan yang berlebihan.

Python lebih sesuai untuk pemula, dengan lengkung pembelajaran yang lancar dan sintaks ringkas; JavaScript sesuai untuk pembangunan front-end, dengan lengkung pembelajaran yang curam dan sintaks yang fleksibel. 1. Sintaks Python adalah intuitif dan sesuai untuk sains data dan pembangunan back-end. 2. JavaScript adalah fleksibel dan digunakan secara meluas dalam pengaturcaraan depan dan pelayan.

Python dan JavaScript mempunyai kelebihan dan kekurangan mereka sendiri dari segi komuniti, perpustakaan dan sumber. 1) Komuniti Python mesra dan sesuai untuk pemula, tetapi sumber pembangunan depan tidak kaya dengan JavaScript. 2) Python berkuasa dalam bidang sains data dan perpustakaan pembelajaran mesin, sementara JavaScript lebih baik dalam perpustakaan pembangunan dan kerangka pembangunan depan. 3) Kedua -duanya mempunyai sumber pembelajaran yang kaya, tetapi Python sesuai untuk memulakan dengan dokumen rasmi, sementara JavaScript lebih baik dengan MDNWebDocs. Pilihan harus berdasarkan keperluan projek dan kepentingan peribadi.

Peralihan dari C/C ke JavaScript memerlukan menyesuaikan diri dengan menaip dinamik, pengumpulan sampah dan pengaturcaraan asynchronous. 1) C/C adalah bahasa yang ditaip secara statik yang memerlukan pengurusan memori manual, manakala JavaScript ditaip secara dinamik dan pengumpulan sampah diproses secara automatik. 2) C/C perlu dikumpulkan ke dalam kod mesin, manakala JavaScript adalah bahasa yang ditafsirkan. 3) JavaScript memperkenalkan konsep seperti penutupan, rantaian prototaip dan janji, yang meningkatkan keupayaan pengaturcaraan fleksibiliti dan asynchronous.

Enjin JavaScript yang berbeza mempunyai kesan yang berbeza apabila menguraikan dan melaksanakan kod JavaScript, kerana prinsip pelaksanaan dan strategi pengoptimuman setiap enjin berbeza. 1. Analisis leksikal: Menukar kod sumber ke dalam unit leksikal. 2. Analisis Tatabahasa: Menjana pokok sintaks abstrak. 3. Pengoptimuman dan Penyusunan: Menjana kod mesin melalui pengkompil JIT. 4. Jalankan: Jalankan kod mesin. Enjin V8 mengoptimumkan melalui kompilasi segera dan kelas tersembunyi, Spidermonkey menggunakan sistem kesimpulan jenis, menghasilkan prestasi prestasi yang berbeza pada kod yang sama.

Aplikasi JavaScript di dunia nyata termasuk pengaturcaraan sisi pelayan, pembangunan aplikasi mudah alih dan Internet of Things Control: 1. Pengaturcaraan sisi pelayan direalisasikan melalui node.js, sesuai untuk pemprosesan permintaan serentak yang tinggi. 2. Pembangunan aplikasi mudah alih dijalankan melalui reaktnatif dan menyokong penggunaan silang platform. 3. Digunakan untuk kawalan peranti IoT melalui Perpustakaan Johnny-Five, sesuai untuk interaksi perkakasan.

Saya membina aplikasi SaaS multi-penyewa berfungsi (aplikasi edTech) dengan alat teknologi harian anda dan anda boleh melakukan perkara yang sama. Pertama, apakah aplikasi SaaS multi-penyewa? Aplikasi SaaS Multi-penyewa membolehkan anda melayani beberapa pelanggan dari Sing

Artikel ini menunjukkan integrasi frontend dengan backend yang dijamin oleh permit, membina aplikasi edtech SaaS yang berfungsi menggunakan Next.Js. Frontend mengambil kebenaran pengguna untuk mengawal penglihatan UI dan memastikan permintaan API mematuhi dasar peranan


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

Muat turun versi mac editor Atom
Editor sumber terbuka yang paling popular

PhpStorm versi Mac
Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Versi Mac WebStorm
Alat pembangunan JavaScript yang berguna

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)