javascript - Je ne comprends pas l'expression régulière de cette réponse courte, veuillez l'expliquer.
某草草
某草草 2017-05-19 10:40:46
0
2
412
var s = 'Please yes\nmake my day!';

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

Pourquoi ? Principalement parce que je ne comprends pas la grammaire au milieu

某草草
某草草

répondre à tous(2)
大家讲道理

Cela devrait résoudre le problème de la correspondance de tous les caractères, y compris les nouvelles lignes.

. === [^rn]

(point, point décimal) correspond à n'importe quel caractère, à l'exception du retour chariot r le saut de ligne n caractères : n r u2028 ou u2029.

Dans le jeu de caractères, le point ( . ) perd sa signification particulière et correspond à un point littéral ( . ).

Il est à noter que le drapeau multiligne m ne change pas le comportement du point. Ainsi, pour faire correspondre un jeu de caractères sur plusieurs lignes, vous pouvez utiliser [^] > (bien sûr, vous n'avez pas l'intention de l'utiliser dans les anciennes versions d'IE), qui correspondra à n'importe quel caractère, y compris les nouvelles lignes.

Par exemple, /.y/ correspond à « mon » et « ay » dans « oui, fais ma journée », mais pas « oui ».

>> var s = 'Please yes make my day!';
>> s.match(/yes.*day/);
Array [ "yesmake my day" ]

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

Voici une série d'explications sur la syntaxe liée aux expressions régulières. Manuel d'utilisation du front-end des expressions régulières | Louis blog
Voici la structure des répertoires :

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal