g signifie correspondance globale
m signifie que plusieurs lignes peuvent correspondre
je signifie correspondance insensible à la casse
^ correspond au début de la chaîne d'entrée
$ correspond à la fin de la chaîne d'entrée
* Correspond à la sous-expression précédente zéro ou plusieurs fois.
+ Correspond à la sous-expression précédente une ou plusieurs fois.
? Correspond à la sous-expression précédente zéro ou une fois. Équivalent à [0,1} lorsque ce caractère est suivi de tout autre qualificatif (*, +, ?, {n}, {n,}, {n, m}), la correspondance. le modèle n’est pas gourmand. Le mode non gourmand correspond le moins possible à la chaîne recherchée, tandis que le mode gourmand par défaut correspond le plus possible à la chaîne recherchée. Par exemple, pour la chaîne « oooo », « o+ ? » correspondra à un seul « o », tandis que « o+ » correspondra à tous les « o ».
d correspond à un caractère numérique. Équivalent à [0-9]
D correspond à un caractère non numérique Équivalent à [^0-9]
w , équivalent à "[A-Za-z0-9_]"
W correspond à n'importe quel caractère autre qu'un mot, équivalent à "[^A-Za-z0-9]"
s correspond à n'importe quel caractère d'espacement, y compris les espaces, les tabulations, les sauts de formulaire, etc. Équivalent à [fnrtv]
S correspond à tout caractère autre qu'un espace. Équivalent à [^frntv]
b correspond à une limite de mot, qui est la position entre un mot et un espace.
B correspond aux limites des non-mots.
(motif) correspond au motif et obtient la correspondance. Les correspondances obtenues peuvent être obtenues à partir de la collection Matches générée, en utilisant la collection SubMatches dans VBScript ou les propriétés $0…$9 dans JScript.
(?:pattern) correspond au modèle mais n'obtient pas le résultat de correspondance, ce qui signifie qu'il s'agit d'une correspondance sans acquisition et n'est pas stockée pour une utilisation ultérieure. Ceci est utile lorsque vous utilisez le caractère « ou » (|) pour combiner des parties d'un motif. Par exemple, « industr(?:y|ies) est une expression plus courte que « industry|industries ».
(?=modèle) recherche directe, correspondant à la chaîne de recherche au début de tout modèle de correspondance de chaîne. Il s'agit d'une correspondance sans récupération, c'est-à-dire qu'il n'est pas nécessaire de récupérer la correspondance pour une utilisation ultérieure. Par exemple, « Windows (?=95|98|NT|2000) » correspond à « Windows » dans « Windows 2000 » mais pas à « Windows » dans « Windows 3.1 ». La prélecture ne consomme pas de caractères, c'est-à-dire qu'après une correspondance, la recherche de la correspondance suivante commence immédiatement après la dernière correspondance, plutôt qu'après le caractère contenant la prélecture.
(?!pattern) L'anticipation négative correspond à la chaîne de recherche au début de toute chaîne qui ne correspond pas au modèle. L'anticipation négative correspond à la chaîne de recherche à tout moment où une chaîne ne correspond pas au modèle. Il s'agit d'une correspondance sans récupération, c'est-à-dire qu'il n'est pas nécessaire de récupérer la correspondance pour une utilisation ultérieure. Par exemple, « Windows (?!95|98|NT|2000) » peut correspondre à « Windows » dans « Windows 3.1 », mais pas à « Windows » dans « Windows 2000 ». La pré-vérification ne consomme pas de caractères, c'est-à-dire qu'après une correspondance, la recherche de la correspondance suivante commence immédiatement après la dernière correspondance, au lieu de commencer
à faire correspondre 2 à 4codes de programme
de caractères chinois
après les caractères contenant la pré-vérification.
/^[u4e00-u9fa5]{2,4}$/g;
codes de programme
de caractères (lettres, chiffres, traits de soulignement)
/^w{6,18}$/;
code de programme
/^[A-Za-z0-9_]$/;
le code du programme
de balise HTML
/<[^>]*>|</[^>]*>/gm;
code de programme
/</?[^>]+>/gm;
code du programme
des espaces gauche et droit
/(^s*)|(s*$)/g;
Ordre de priorité (de haut en bas)
caractère d'échappement
(),(?:),(?=),[] crochets et crochets
* , + , ? , {n} , {n,} , {n,m} qualificatif
^ , [vapour:content]nbsp; position et ordre
| L'opération "ou"
codes de programme
de mots identiques consécutifs
séparés par des espaces
/b([az]+) 1b/gim ;
Dans cet exemple, la sous-expression est chaque terme entre parenthèses.
L'expression capturée se compose d'un ou plusieurs caractères alphabétiques, comme spécifié par « [az]+ ».
La deuxième partie de l'expression régulière est une référence à la sous-correspondance capturée précédemment, qui est la deuxième occurrence du mot correspondant à l'expression ajoutée.
'1' est utilisé pour spécifier la première sous-correspondance. Les métacaractères de limite de mot garantissent que seuls les mots individuels sont détectés.
Si cela n'était pas fait, des expressions telles que « est émis » ou « ceci est » seraient incorrectement reconnues par l'expression.
code de programme
var ss = "Est-ce que le coût de l'essence augmente ?. Est-ce que le coût de l'essence augmente ?.";
var re = /b([az]+) 1b/gim;
var rv = ss.replace(re,"$1");
document.write(rv) //Sortie « Le coût de l'essence augmente-t-il ?. Le coût de l'essence augmente-t-il ?. »
code de programme
/bCha/
correspond aux trois premiers caractères du mot « Chapitre » car ils apparaissent après une limite de mot
code de programme
/terb/
correspond à « ter » dans le mot « Chapitre » car il apparaît avant une limite de mot
code de programme
/Bapt/
correspond à 'apt' car il se trouve au milieu de 'Chapter', mais ne correspond pas à 'apt' dans 'aptitude' car il se trouve après une limite de mot
*/
le code du programme
d'adresse URL
/(w+)://([^/:]+)(:d*)?([^#]*)/
Décomposez l'URI suivant en protocoles (ftp, http, etc), Nom de domaine adresse et page/chemin :
http://msdn.microsoft.com:80/scripting/default.htm
La première sous-expression supplémentaire est utilisée pour capturer la partie protocolaire de l'adresse Web. Cette sous-expression correspond à n’importe quel mot précédé de deux points et de deux barres obliques. La deuxième sous-expression supplémentaire capture l'adresse de domaine de l'adresse. Cette sous-expression correspond à toute séquence de caractères qui n'inclut pas les caractères « ^ », « / » ou « : ». La troisième sous-expression supplémentaire capture le numéro de port du site Web, s'il est spécifié. Cette sous-expression correspond à zéro ou plusieurs nombres suivis de deux points. Enfin, la quatrième sous-expression supplémentaire capture les informations de chemin et/ou de page spécifiées par l'adresse Web. Cette sous-expression correspond à un ou plusieurs caractères à l'exception de « # » ou des espaces.
Lorsque l'expression régulière est appliquée à l'URI indiqué ci-dessus, les sous-correspondances incluent les éléments suivants :
RegExp.$1 contient "http"
RegExp.$2 contient "msdn.microsoft.com"
RegExp.$3 contient ":80"
RegExp.$4
Méthode1
qui contient l'expression régulière
"/scripting/default.htm"
. La méthode de testrenvoie une valeur booléenne, qui indique si le modèle existe dans la chaîne recherchée.
rgExp.test(str)
Les propriétés de l'objet RegExp global ne sont pas modifiées par. la méthode de test
exemple1
http://www.knowsky.com/
code de programme
var url=" http://msdn.microsoft.com:80/scripting/default.html ";
var reg=/(w+)://([^/:]+)(:d*)?([^#]*)/;
var flag=reg.test(url);
flag //retourne vrai
RegExp.$1 //Retour "http"
RegExp.$2 //Retour "msdn.microsoft.com"
RegExp.$3 //Retour ":80"
$egExp.$4 //Retour "/scripting/default.html"
Ni les méthodes de recherche ni les méthodes de test ne peuvent mettre à jour l'objet RegExp global, donc RegExp.input, RegExp.index et RegExp.lastIndex renvoient undefined
2. La méthode match
utilise un modèle d'expression régulière pour effectuer une recherche sur la chaîne et renvoie le résultat contenant la recherche sous forme de tableau.
code de programme
stringObj.match(rgExp)
Si la méthode match ne trouve pas de correspondance, elle renvoie null. Si une correspondance est trouvée, un tableau est renvoyé et les propriétés de l'objet RegExp global sont mises à jour pour refléter la correspondance.
Le tableau renvoyé par la méthode match a trois attributs : input, index et lastIndex.
La propriété Input contient la chaîne entière recherchée.
La propriété Index contient la position de la sous-chaîne correspondante dans la chaîne de recherche entière.
La propriété LastIndex contient la position à côté du dernier caractère de la dernière correspondance.
Si l'indicateur global (g) n'est pas défini, l'élément 0 du tableau contient la correspondance entière et les éléments 1 à n contiennent toutes les sous-correspondances survenues dans la correspondance.
Ceci équivaut à la méthode exec sans définir l'indicateur global. Si l'indicateur global est défini, les éléments 0 à n contiennent toutes les correspondances
exemple 1 (l'indicateur global n'est pas défini)
code de programme
var url=" http://msdn.microsoft.com:80/scripting/default.html ";
var reg=/(w+)://([^/:]+)(:d*)?([^#]*)/;
var monArray=url.match(reg);
RegExp.$1 //Retour "http"
RegExp.$2 //Retour "msdn.microsoft.com"
RegExp.$3 //Retour ":80"
$egExp.$4 //Retour "/scripting/default.html"
myArray //Return myArray[0]=" http://msdn.microsoft.com:80/scripting/default.html ",
monArray[1]="http", monArray[2]="msdn.microsoft.com",
monArray[3]=":80",monArray[4]="/scripting/default.html"
myArray.input //Retour "http://msdn.microsoft.com:80/scripting/default.html"
monArray.index //Retour 0
monArray.lastIndex //Retour 51
exemple2 (ensemble d'indicateurs global)
code de programme
var url=" http://msdn.microsoft.com:80/scripting/default.html ";
var reg=/(w+)://([^/:]+)(:d*)?([^#]*)/g;
var monArray=url.match(reg);
RegExp.$1 //Retour "http"
RegExp.$2 //Retour "msdn.microsoft.com"
RegExp.$3 //Retour ":80"
$egExp.$4 //Retour "/scripting/default.html"
myArray //Retour myArray=" http://msdn.microsoft.com:80/scripting/default.html "
myArray.input //Retour "http://msdn.microsoft.com:80/scripting/default.html"
monArray.index //Retour 0
monArray.lastIndex //Retour 51
Notez la différence après avoir défini le drapeau global
Si l'indicateur global (g) n'est pas défini, l'élément 0 du tableau contient la correspondance entière et les éléments 1 à n contiennent toutes les sous-correspondances survenues dans la correspondance.
Ceci équivaut à la méthode exec sans définir l'indicateur global. Si l'indicateur global est défini, les éléments 0 à n contiennent toutes les correspondances
3. La méthode exex
exécute une recherche sur une chaîne à l'aide d'un modèle d'expression régulière et renvoie un tableau contenant les résultats de la recherche.
code de programme
rgExp.exec(str)
Si la méthode exec ne trouve pas de correspondance, elle renvoie null.
Si elle trouve une correspondance, la méthode exec renvoie un tableau et les propriétés de l'objet RegExp global sont mises à jour pour refléter la correspondance.
L'élément 0 du tableau contient la correspondance complète, tandis que les éléments 1 à n contiennent toutes les sous-correspondances qui se produisent dans la correspondance.
Ceci est équivalent à la méthode match sans définir l'indicateur global (g).
Si l'indicateur global est défini pour l'expression régulière, exec commence à examiner la position indiquée par la valeur de lastIndex.
Si l'indicateur global n'est pas défini, exec ignore la valeur de lastIndex et recherche à partir du début de la chaîne.
Le tableau renvoyé par la méthode exec possède trois attributs, à savoir input, index et lastIndex.
La propriété Input contient la chaîne entière recherchée.
L'attribut Index contient la position de la sous-chaîne correspondante dans la chaîne entière recherchée.
La propriété LastIndex contient la position suivante du dernier caractère de la correspondance.
exemple 1 (aucun indicateur global défini)
code de programme
var url=" http://msdn.microsoft.com:80/scripting/default.html ";
var reg=/(w+)://([^/:]+)(:d*)?([^#]*)/;
var monArray=reg.exec(url);
RegExp.$1 //Retour "http"
RegExp.$2 //Retour "msdn.microsoft.com"
RegExp.$3 //Retour ":80"
$egExp.$4 //Retour "/scripting/default.html"
myArray //Return myArray[0]=" http://msdn.microsoft.com:80/scripting/default.html ",
monArray[1]="http", monArray[2]="msdn.microsoft.com",
monArray[3]=":80",monArray[4]="/scripting/default.html"
myArray.input //Retour "http://msdn.microsoft.com:80/scripting/default.html"
monArray.index //Retour 0
monArray.lastIndex //Retour 51
Lorsque l'indicateur global (g) n'est pas défini, la méthode match est la même que la méthode exec
exemple2 (définir l'indicateur global)
code de programme
var url=" http://msdn.microsoft.com:80/scripting/default.html ";
var reg=/(w+)://([^/:]+)(:d*)?([^#]*)/;
var monArray=reg.exec(url);
RegExp.$1 //Retour "http"
RegExp.$2 //Retour "msdn.microsoft.com"
RegExp.$3 //Retour ":80"
$egExp.$4 //Retour "/scripting/default.html"
myArray //Return myArray[0]=" http://msdn.microsoft.com:80/scripting/default.html ",
monArray[1]="http", monArray[2]="msdn.microsoft.com",
monArray[3]=":80",monArray[4]="/scripting/default.html"
myArray.input //Retour "http://msdn.microsoft.com:80/scripting/default.html"
monArray.index //Retour 0
monArray.lastIndex //Retour 51
4 La méthode de recherche
renvoie la position de la première sous-chaîne qui correspond au contenu de la recherche d'expression régulière.
code de programme
stringOjb.search(rgExp)
La méthode de recherche indique si une correspondance correspondante existe.
Si une correspondance est trouvée, la méthode de recherche renvoie une valeur entière indiquant le décalage de la correspondance depuis le début de la chaîne.
Si aucune correspondance n'est trouvée, -1 est renvoyé.
exemple1
code de programme
var url=" http://msdn.microsoft.com:80/scripting/default.html ";
var reg=/(w+)://([^/:]+)(:d*)?([^#]*)/;
var flag=url.search(reg);
drapeau //retourne 0
RegExp.$1 //Retour "http"
RegExp.$2 //Retour "msdn.microsoft.com"
RegExp.$3 //Retour ":80"
$egExp.$4 //Retour "/scripting/default.html"
Ni les méthodes de recherche ni les méthodes de test ne peuvent mettre à jour l'objet RegExp global, donc RegExp.input, RegExp.index et RegExp.lastIndex renvoient undefined
5 La méthode replace
renvoie une copie de la chaîne après le remplacement du texte en fonction de l'expression régulière et
peut mettre à jour l'objet RegExp global.