JavaScript Practice régulier (sera mis à jour en continu en fonction de l'écriture récente)
1. Création et utilisation de remplacement d'objet ordinaire Javascrip
Constructeur d'expression régulière: new regexp ("motif" [, "flags"]);
Fonction de variable de remplacement d'expression régulière: stringoBj.replace (regexp, remplacer le texte);
Description du paramètre:
Modèle - un texte d'expression régulière
Flags - Si présent, ce sera la valeur suivante:
G: match mondial
I: Ignorer le cas
GI: la combinaison ci-dessus
// L'exemple suivant est utilisé pour obtenir deux paramètres d'URL et renvoyer la véritable urlvar avant URLReWRite reg = new regexp ("(http://www.qidian.com/bookreader/) (//d+), (/d+).aspx", "gmi"); var; url = "http://www.qidian.com/bookreader/1017141.20361055.aspx"; // Méthode 1, la méthode la plus simple et la plus couramment utilisée var rep = url.replace (Reg, "1 1Showbook.aspx? Bookid = 2 $ & chapitreid = 2 $"); allert (représentant); // méthode 2, Fonction Callback rep2 = url.replace (reg, function (m, p1, p2, p3) {return p1 + "showbook.aspx? bookid =" + p3 + "& ChapterId =" + p3}); alert (rep2); // méthode 3, utilisez la fonction de rappel avec des paramètres non fixes = return; args [1] + "showbook.aspx? bookid =" + args [2] + "& ChapterID =" + args [3];}); alert (rep3); // méthode 4 // méthode 4 est très similaire à la méthode 3. En plus de renvoyer la chaîne remplacée, vous pouvez également obtenir le paramètre var bookid; var ChapterId; fonction CapText () {var args = arguments; bookid = args [2]; ChapterId = args [3]; return args [1] + "showbook.aspx? bookid =" + args [2] + "& ChapterId =" + args [3];} var rep4 = url.replace (reg, captext); alert (rep4); alert (bookid); alert (ChapterId); // Utilisez la méthode de test pour obtenir le regroupement var reg3 = new Regexp ("(http://www.qidian.com/bookreader/) (//d+),ESE alerte (regexp. 2 $); alerte (regexp. 3 $);2.
1) Test Vérifiez si la chaîne spécifiée existe
var data = “123123 ″;
var recat = / 123 / gi;
alert (recat.test (data)); //vrai
// Vérifiez si le personnage existe G continue de descendre I est sensible à la casse
2) EXEC renvoie la valeur de requête
var data = "123123,213,12312,312,3, cat, cat, dsfsdfs,";
var recat = / cat / i;
alert (recat.exec (données)); //Chat
3) Le match obtient le tableau de requête
var data = "123123,213,12312,312,3, cat, cat, dsfsdfs,";
var recat = / cat / gi;
var Arrmactches = data.match (recat)
pour (var i = 0; i <arrmactches.length; i ++)
{
alerte (Arrmactches [i]); // chat chat
}
4) Recherche de recherche Position de recherche similaire à l'index
var data = "123123,213,12312,312,3, cat, cat, dsfsdfs,";
var recat = / cat / gi;
alert (data.search (recat)); // 23
5) Remplacez le caractère de remplacement en utilisant un remplacement régulier
var data = "123123,213,12312,312,3, cat, cat, dsfsdfs,";
var recat = / cat / gi;
alert (data.replace (recat, "libinqq"));
6) Diviser en utilisant un tableau de segmentation régulière
var data = "123123,213,12312,312,3, cat, cat, dsfsdfs,";
var recat = //, /;
var arrdata = data.split (recat);
pour (var i = 0; i <arrdata.length; i ++)
{
alerte (arrdata [i]);
}
3. Collection d'expressions couramment utilisées:
"^ // d + $" // entier non négatif (entier positif + 0)
"^ [0-9] * [1-9] [0-9] * $" // entier positif
"^ ((- // d +) | (0 +)) $" // pas entier positif (entier négatif + 0)
"^ - [0-9] * [1-9] [0-9] * $" // entier négatif
"^ -? // d + $" // entier
"^ // d + (//.// d +)? $" // Numéro de point flottant non négatif (numéro de point flottant positif + 0)
"^ (([0-9] + //. [0-9] * [1-9] [0-9] *) | ([0-9] * [1-9] [0-9] * //. [0-9] +) | ([0-9] * [1-9] [0-9] *)) $"
// Numéro de point flottant positif
"^ ((- // d + (//.// d +)?) | (0 + (//. 0 +)?)) $" // Numéro de point flottant non positif (nombre de points flottants négatifs + 0)
"^ (- (([0-9] + //. [0-9] * [1-9] [0-9] *) | ([0-9] * [1-9] [0-9] * //. [0-9] +) | ([0-9] * [1-9] [0-9] *))) $"
// Numéro de point flottant négatif
"^ (-? // d +) (//.// d +)? $" // Numéro de point flottant
"^ [A-za-z] + $" // une chaîne composée de 26 lettres anglaises
"^ [Az] + $" // Une chaîne composée de 26 lettres anglaises capitalisation
"^ [az] + $" // Une chaîne composée de minuscules de 26 lettres anglaises
"^ [A-za-z0-9] + $" // une chaîne composée de nombres et 26 lettres anglaises
"^ // w + $" // une chaîne composée de nombres, 26 lettres ou soulignements anglais
"^ [// w -] + (//. [// w -] +) * @ [// w -] + (//. [// w -] +) + $" // Adresse e-mail
"^ [a-za-z] +: // (// w + (- // w +) *) (//. (// w + (- // w +) *)) * (//? // s *)? $" // url
"^ [A-za-z0-9 _] * $".
Bases des expressions régulières
^ Correspond à une entrée ou au début d'une ligne, / ^ a / correspond à "un a", mais pas "a a"
$ correspond à la fin d'une entrée ou d'une ligne, / a $ / correspond à "un a", mais pas "a a"
* Faites correspondre le métacharacter précédent 0 fois ou plus, / ba * / correspondra à B, Ba, Baa, Baa
+ Faire correspondre la précédente fois Metacharacter 1 ou plus, / ba + / va correspondre à Ba, Baa, Baaa
? Faites correspondre le Metacharacter 0 ou 1 fois précédent, / ba? / Va correspondre b, ba
(x) Match x sauve x dans une variable nommée 1 $ ... 9 $
x | y correspond à x ou y
{n} correspondant exact n fois
{n,} Faites correspondre plus de n fois
{n, m} correspond
[xyz] jeu de caractères, correspondant à tout caractère (ou métacharacter) dans cet ensemble
[^ xyz] ne correspond à aucun caractère dans cette collection
[/ b] Faites correspondre un caractère arrière
/ b correspond à la limite d'un mot
/ B correspond à un mot non lié à un mot
/ cx ici, x est un caractère de contrôle, // cm / correspond à ctrl-m
/ d correspond à un caractère, // d / = / [0-9] /
/ D correspond à un caractère numérique non-mot, // d / = / [^ 0-9] /
/ n correspond à un personnage de Newline
/ R correspond à un caractère de retour chariot
/ s correspond à un caractère blanc, y compris / n, / r, / f, / t, / v, etc.
/ S correspond à un caractère non-blanc égal à / [^ / n / f / r / t / v] /
/ T correspond à un caractère d'onglet
/ V correspond à un caractère d'onglet de redirection
/ w correspond à un caractère qui peut former un mot (alphanumérique, qui est ma traduction, y compris les nombres), y compris les soulignements, tels que [/ w] correspond à 5 dans "5,98 $", est égal [A-ZA-Z0-9]
/ W correspond à un caractère qui ne peut pas former un mot, tel que [/ w] correspond à "5,98 $", qui est égal à [^ a-za-z0-9].