Apakah regex sama java dan javascript?

Kami sudah melihat hal serupa – tanda kurung siku. Mereka memungkinkan untuk memilih antara beberapa karakter, misalnya gr[ae]y cocok dengan gray atau grey

Tanda kurung siku hanya mengizinkan karakter atau kelas karakter. Pergantian memungkinkan ekspresi apa pun. Regexp A|B|C berarti salah satu ekspresi A,

[01]\d  |  2[0-3]:[0-5]\d
0 atau
[01]\d  |  2[0-3]:[0-5]\d
1

Contohnya

  • [01]\d  |  2[0-3]:[0-5]\d
    2 artinya persis sama dengan gr[ae]y
  • [01]\d  |  2[0-3]:[0-5]\d
    4 berarti
    [01]\d  |  2[0-3]:[0-5]\d
    5 atau
    [01]\d  |  2[0-3]:[0-5]\d
    6

Untuk menerapkan pergantian ke bagian pola yang dipilih, kita dapat menyertakannya dalam tanda kurung

  • [01]\d  |  2[0-3]:[0-5]\d
    7 cocok
    [01]\d  |  2[0-3]:[0-5]\d
    8 atau
    [01]\d  |  2[0-3]:[0-5]\d
    9
  • let regexp = /([01]\d|2[0-3]):[0-5]\d/g;
    
    alert("00:00 10:10 23:59 25:99 1:2".match(regexp)); // 00:00,10:10,23:59
    0 cocok
    [01]\d  |  2[0-3]:[0-5]\d
    8 atau
    let regexp = /([01]\d|2[0-3]):[0-5]\d/g;
    
    alert("00:00 10:10 23:59 25:99 1:2".match(regexp)); // 00:00,10:10,23:59
    2

Pada artikel sebelumnya ada tugas membuat regexp untuk waktu pencarian dalam bentuk

let regexp = /([01]\d|2[0-3]):[0-5]\d/g;

alert("00:00 10:10 23:59 25:99 1:2".match(regexp)); // 00:00,10:10,23:59
3, misalnya
let regexp = /([01]\d|2[0-3]):[0-5]\d/g;

alert("00:00 10:10 23:59 25:99 1:2".match(regexp)); // 00:00,10:10,23:59
4. Tapi
let regexp = /([01]\d|2[0-3]):[0-5]\d/g;

alert("00:00 10:10 23:59 25:99 1:2".match(regexp)); // 00:00,10:10,23:59
_5 yang sederhana terlalu kabur. Itu menerima
let regexp = /([01]\d|2[0-3]):[0-5]\d/g;

alert("00:00 10:10 23:59 25:99 1:2".match(regexp)); // 00:00,10:10,23:59
6 sebagai waktu (karena 99 menit cocok dengan pola, tetapi waktu itu tidak valid)

Bagaimana kita bisa membuat pola yang lebih baik?

Kita bisa menggunakan pencocokan yang lebih hati-hati. Pertama, jam

  • Jika digit pertama adalah
    let regexp = /([01]\d|2[0-3]):[0-5]\d/g;
    
    alert("00:00 10:10 23:59 25:99 1:2".match(regexp)); // 00:00,10:10,23:59
    _7 atau
    let regexp = /([01]\d|2[0-3]):[0-5]\d/g;
    
    alert("00:00 10:10 23:59 25:99 1:2".match(regexp)); // 00:00,10:10,23:59
    8, maka digit berikutnya dapat sembarang.
    let regexp = /([01]\d|2[0-3]):[0-5]\d/g;
    
    alert("00:00 10:10 23:59 25:99 1:2".match(regexp)); // 00:00,10:10,23:59
    _9
  • Jika tidak, jika digit pertama adalah |0, maka digit berikutnya harus |1
  • (digit pertama lainnya tidak diperbolehkan)

Kami dapat menulis kedua varian dalam regexp menggunakan pergantian. |2

Selanjutnya, menit harus dari |_3 sampai |4. Dalam bahasa ekspresi reguler yang dapat ditulis sebagai |5. digit pertama |_6, lalu digit apa pun

Jika kita merekatkan jam dan menit, kita mendapatkan polanya. |7

Kami hampir selesai, tapi ada masalah. Pergantian | sekarang terjadi antara

let regexp = /([01]\d|2[0-3]):[0-5]\d/g;

alert("00:00 10:10 23:59 25:99 1:2".match(regexp)); // 00:00,10:10,23:59
9 dan html|php|java(script)?0

Itu adalah. menit ditambahkan ke varian pergantian kedua, inilah gambaran yang jelas

[01]\d  |  2[0-3]:[0-5]\d

Pola itu mencari

let regexp = /([01]\d|2[0-3]):[0-5]\d/g;

alert("00:00 10:10 23:59 25:99 1:2".match(regexp)); // 00:00,10:10,23:59
9 atau html|php|java(script)?0

Tapi itu salah, pergantian hanya boleh digunakan di bagian "jam" dari ekspresi reguler, untuk mengizinkan

let regexp = /([01]\d|2[0-3]):[0-5]\d/g;

alert("00:00 10:10 23:59 25:99 1:2".match(regexp)); // 00:00,10:10,23:59
9 ATAU html|php|java(script)?4. Mari kita perbaiki dengan melampirkan "jam" ke dalam tanda kurung. html|php|java(script)?5

Ekspresi reguler adalah urutan karakter yang membentuk pola pencarian. Pola pencarian dapat digunakan untuk pencarian teks dan teks untuk menggantikan operasi. Ekspresi reguler dapat berupa karakter tunggal atau pola yang lebih rumit. Ekspresi reguler dapat digunakan untuk melakukan semua jenis pencarian teks dan operasi penggantian teks

Sintaksis

/pattern/modifiers;

Contoh

var patt = /GeeksforGeeks/i;

Penjelasan.  

/GeeksforGeeks/i adalah ekspresi reguler
GeeksforGeeks adalah polanya (untuk digunakan dalam pencarian)
i adalah pengubah (memodifikasi pencarian menjadi Case-Insensitive)

Pengubah Ekspresi Reguler dapat digunakan untuk melakukan pencarian multibaris yang juga dapat disetel ke pencocokan peka huruf besar-kecil.  

EkspresiDeskripsigTemukan karakter secara globaliTemukan karakter dengan pencocokan tidak peka huruf besar-kecilmTemukan pencocokan multibaris

Kurung Ekspresi Reguler dapat berupa Temukan karakter dalam rentang yang ditentukan

ExpressionsDescription[abc]Cari salah satu karakter di dalam tanda kurung[^abc]Cari karakter apa saja, bukan di dalam tanda kurung[0-9]Cari salah satu digit di antara tanda kurung 0 sampai 9[^0-9]Cari digit apa saja yang tidak . y) Temukan salah satu alternatif antara x atau y dipisahkan dengan

Metakarakter Ekspresi Reguler adalah karakter dengan arti khusus

MetacharacterDescription\. Cari karakter tunggal, kecuali terminator baris atau baris baru. \Cari kata karakter i. e. karakter dari a hingga z, A hingga Z, 0 hingga 9\Cari digit\Cari karakter non-digit i. e semua karakter kecuali digit\Cari karakter spasi\Cari karakter bukan spasi. \Cari kecocokan di awal atau di akhir kata\Cari kecocokan yang tidak ada di awal atau akhir kata. \0 Temukan karakter NULL. \Temukan karakter baris baru. \fCari karakter form feed\rCari karakter carriage return\tCari karakter tab\vCari karakter tab vertikal\uxxxxCari karakter Unicode yang ditentukan oleh angka heksadesimal xxxxx

Regular Expression Quantifiers digunakan untuk menentukan jumlah kejadian

QuantifierDescriptionn+Cocokkan string apa pun yang berisi setidaknya satu nn*Cocokkan string apa pun yang berisi nol atau lebih pemunculan nn?Cocokkan string apa pun yang berisi nol atau satu pemunculan nm{X}Temukan kecocokan string apa pun yang berisi urutan m . Temukan kecocokan string apa pun yang tidak diikuti oleh string tertentu m

Properti Objek Ekspresi Reguler

PropertyDescriptionconstructorMengembalikan fungsi yang membuat prototipeglobal objek RegExpTentukan apakah pengubah "g" disetel atau tidakignorecaseTentukan apakah pengubah "i" disetel atau tidaklastindexTentukan indeks untuk memulai matchmultiline berikutnyaTentukan apakah pengubah "m" disetel atau tidaksumberMengembalikan teks

Metode Objek Ekspresi Reguler

MethodDescriptioncompile()Digunakan untuk mengkompilasi ekspresi reguler saat menjalankan scriptexec()Digunakan untuk menguji kecocokan dalam sebuah string. test()Digunakan untuk menguji kecocokan dalam stringtoString()Mengembalikan nilai string dari ekspresi reguler

Di bawah ini adalah contoh Ekspresi Reguler JavaScript.  

Contoh.   

JAVASCRIPT




function GFGFun() {

    var str =

var patt = /GeeksforGeeks/i;
0
var patt = /GeeksforGeeks/i;
1

    var

var patt = /GeeksforGeeks/i;
4

    

var patt = /GeeksforGeeks/i;
6

var patt = /GeeksforGeeks/i;
7

var patt = /GeeksforGeeks/i;
8

Keluaran.   

6

Menggunakan Metode String. Dalam JavaScript, ekspresi reguler sering digunakan dengan metode dua string. cari() dan ganti()

  • Metode search() menggunakan ekspresi untuk mencari kecocokan dan mengembalikan posisi kecocokan
  • Metode replace() mengembalikan string yang dimodifikasi di mana pola diganti

Menggunakan pencarian String () Dengan Ekspresi Reguler. Gunakan ekspresi reguler untuk melakukan penelusuran peka huruf besar-kecil untuk "GeeksforGeeks" dalam sebuah string

Contoh

JAVASCRIPT




function

6
0

6
1

    

6
3

    var str =

6
7
var patt = /GeeksforGeeks/i;
1

6
1

    

6
-1
1

    var

var patt = /GeeksforGeeks/i;
4

6
1

    

var patt = /GeeksforGeeks/i;
6

6
1

    

Please visit geeksforgeeks! 
0

    var

Please visit geeksforgeeks! 
3

6
1

    

var patt = /GeeksforGeeks/i;
6

var patt = /GeeksforGeeks/i;
7

Please visit geeksforgeeks! 
8

Keluaran.  

6
-1

Gunakan String ganti () Dengan Ekspresi Reguler. Gunakan ekspresi reguler yang tidak sensitif huruf besar-kecil untuk mengganti gfG dengan GeeksforGeeks dalam sebuah string

Apakah regex bagian dari JavaScript?

Ekspresi reguler adalah pola yang digunakan untuk mencocokkan kombinasi karakter dalam string. Dalam JavaScript, ekspresi reguler juga merupakan objek . Pola ini digunakan dengan metode exec() dan test() dari RegExp , dan dengan metode match() , matchAll() , replace() , replaceAll() , search() , dan split() dari String.

Apakah ada regex di Jawa?

Ekspresi reguler dapat digunakan untuk melakukan semua jenis operasi pencarian teks dan penggantian teks. Java tidak memiliki kelas Ekspresi Reguler bawaan , tetapi kita dapat mengimpor java. utilitas. paket regex untuk bekerja dengan ekspresi reguler.

Apakah ada versi regex yang berbeda?

Akibatnya, secara garis besar, ada tiga jenis mesin regex . DFA (POSIX atau tidak—mirip juga) NFA tradisional (paling umum. Perl,. .NET, PHP, Java, Phyton,. . . )

Apakah regex JavaScript sama dengan regex Python?

Mereka berbeda ; . Baca Menguasai Ekspresi Reguler. Ini memberikan informasi tentang cara mengidentifikasi mesin back-end (DFA vs NFA vs Hybrid) yang menggunakan rasa regex. Ini memberi banyak informasi tentang rasa regex yang berbeda di luar sana.