javascript - Saya tidak faham regex jawapan ringkas ini, sila jelaskan.
某草草
某草草 2017-05-19 10:40:46
0
2
409
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

某草草
某草草

membalas semua(2)
大家讲道理

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" ]

// 因为[^...]代表匹配除过...代表的字符以外的所有字符,所以当然换行符也可以匹配了。
大家讲道理

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

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan