cari

Rumah  >  Soal Jawab  >  teks badan

javascript - Saya tidak faham regex jawapan ringkas ini, sila jelaskan.

var s = 'Please yes\nmake my day!';

s.match(/yes[^]*day/);
// Returns ["yes\nmake my day"]

Kenapa? Terutamanya kerana saya tidak memahami tatabahasa di titik tengah

某草草某草草2803 hari yang lalu417

membalas semua(2)saya akan balas

  • 大家讲道理

    大家讲道理2017-05-19 10:42:46

    Sepatutnya untuk menyelesaikan masalah padanan semua watak termasuk baris baharu.

    === [^rn]

    (titik, titik perpuluhan) sepadan dengan mana-mana aksara tunggal, kecuali suapan baris r carriage return n aksara: n r u2028 atau u2029.

    Dalam set aksara, titik ( . ) kehilangan makna istimewanya dan sepadan dengan titik literal ( . ).

    Perlu diingatkan bahawa bendera m multiline tidak mengubah tingkah laku tempoh tersebut. Jadi untuk memadankan set aksara merentas berbilang baris, anda boleh menggunakan [^] >

    Sebagai contoh, /.y/ memadankan "saya" dan "ay" dalam "yes make my day", tetapi bukan "yes".

    >> var s = 'Please yes make my day!';
    >> s.match(/yes.*day/);
    Array [ "yesmake my day" ]
    
    // 因为[^...]代表匹配除过...代表的字符以外的所有字符,所以当然换行符也可以匹配了。

    balas
    0
  • 大家讲道理

    大家讲道理2017-05-19 10:42:46

    Berikut ialah satu siri penjelasan tentang sintaks berkaitan ungkapan biasa Manual pengguna bahagian hadapan |.

    balas
    0
  • Batalbalas