javascript - Apakah maksud ungkapan biasa ini /(?:([^:;\(\[]*):)?(.*)/
我想大声告诉你
我想大声告诉你 2017-05-19 10:45:02
0
2
612
/(?:([^:;\(\[]*):)?(.*)/

Bolehkah anda menerangkannya secara terperinci?

我想大声告诉你
我想大声告诉你

membalas semua(2)
洪涛

Bahagian satu: (?:XXXXX:)?
Bahagian dua: (.*)

Bahagian pertama, tidak sepadan dengan satu atau sifar XXXXX:, XXXXX sepadan dengan sifar atau lebih daripada ini:;([Mana-mana aksara selain daripada simbol, yang ditangkap oleh kumpulan penangkap pertama.

Bahagian kedua ialah menangkap sifar atau lebih aksara sewenang-wenangnya.

曾经蜡笔没有小新

Seperti yang dijelaskan di tingkat satu, terdapat dua kumpulan tangkapan Kandungan kurungan dalam kumpulan tangkapan pertama ialah selepas ([^:;([]*)指匹配不包含:;([字符的任意个字符,加上前面的 ?:表示只匹配括号里面的内容但是不捕获,最后是匹配一个:,
(?:([^:;([]*):)?, 匹配一个不包含:;([这四个符号的字符串再加一个:零次或一次;
第二个捕获组就是捕获任意字符串,就是说如果第一个捕获组匹配失败,那么第二个捕获组会获取整个字符串,
如果第一个捕获组成功,结果是捕获两个字符串,一个是:之前的,一个是:
Contoh:

var re = /(?:([^:;\(\[]*):)?(.*)/;
re.exec('abc:123');
==>  ["abc:123", "abc", "123", index: 0, input: "abc:123"]
re.exec('(abc:123');
==>  ["(abc:123", undefined, "(abc:123", index: 0, input: "(abc:123"]
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan