cari
Rumahhujung hadapan webtutorial jsRingkasan 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

6

ditulis di sebelah kanan ungkapan biasa literal //

saya melakukan padanan tidak sensitif huruf besar dan kecil

g 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.

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Memahami Enjin JavaScript: Butiran PelaksanaanMemahami Enjin JavaScript: Butiran PelaksanaanApr 17, 2025 am 12:05 AM

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 vs JavaScript: Keluk Pembelajaran dan Kemudahan PenggunaanPython vs JavaScript: Keluk Pembelajaran dan Kemudahan PenggunaanApr 16, 2025 am 12:12 AM

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 vs JavaScript: Komuniti, Perpustakaan, dan SumberPython vs JavaScript: Komuniti, Perpustakaan, dan SumberApr 15, 2025 am 12:16 AM

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.

Dari C/C ke JavaScript: Bagaimana semuanya berfungsiDari C/C ke JavaScript: Bagaimana semuanya berfungsiApr 14, 2025 am 12:05 AM

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: Membandingkan PelaksanaanEnjin JavaScript: Membandingkan PelaksanaanApr 13, 2025 am 12:05 AM

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.

Beyond the Browser: JavaScript di dunia nyataBeyond the Browser: JavaScript di dunia nyataApr 12, 2025 am 12:06 AM

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.

Membina aplikasi SaaS Multi-penyewa dengan Next.js (Integrasi Backend)Membina aplikasi SaaS Multi-penyewa dengan Next.js (Integrasi Backend)Apr 11, 2025 am 08:23 AM

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

Cara Membina Aplikasi SaaS Multi-Tenant dengan Next.js (Integrasi Frontend)Cara Membina Aplikasi SaaS Multi-Tenant dengan Next.js (Integrasi Frontend)Apr 11, 2025 am 08:22 AM

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

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

Muat turun versi mac editor Atom

Muat turun versi mac editor Atom

Editor sumber terbuka yang paling popular

PhpStorm versi Mac

PhpStorm versi Mac

Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Versi Mac WebStorm

Versi Mac WebStorm

Alat pembangunan JavaScript yang berguna

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)