• Aucun résultat trouvé

6.4 / Les caractères spéciau

Les caractères spéciaux permettent d'affiner une recherche, là où une expression régulière simple ne peut suffire.

Les caractères et autres symboles spéciaux représentent des caractères non-imprimables comme des sauts de lignes (\n), des tabulations (\t) ou des options particulières ou encore des plages de lettres ou de chiffres, etc.

72 sur 270 04/09/2005 22:21 \\, \/, \*, \+, \?, etc. Symbolise les caractères correspondants var modele=/2\*8\+1/;

//recherche la chaîne 2*8+1 ^

Symbolise le début d'une chaîne de caractères var modele=/^Le/; //recherche Le en début de phrases $

Symbolise la fin d'une chaîne de caractères var modele=/\.$/; //recherche un point à la fin d'une chaîne de caractères *

Le caractère précédent peut intervenir de zéro à plusieurs fois

var modele=/10*/; //recherche les nombres commençant par 1 avec éventuellement des zéros + Le caractère précédent doit être trouvé de une à

plusieurs fois

var modele=/\t+/; //recherche de une à plusieurs tabulations ?

Le caractère précédent est optionnel var modele=/mots?/; //recherche mot au singulier ou au pluriel .

Le caractère représente un caractère quelconque sauf un saut de ligne

var modele=/.n.?/; //recherche tous les mots de deux ou éventuellement de trois lettres contenant un n au centre comme en ou une () Les parenthèses divisent le modèle en plusieurs

zones

var modele=/java(script)?/; //recherche le mot

javascript ou java x|y Le pipe agît comme un OU, une des possibilités

doit être trouvée

var modele=/html|css/; //recherche html ou css ou les deux {n} Le caractère précédent doit être trouvé un

nombre n fois

var modele=/continu{2}m/; //recherche le mot continuum {n,m} Le caractère précédent doit être trouvé au moins

n fois et au plus m fois

var modele=/10{3,9}/; //recherche d'un nombre de 103 ou de 109 {n, } Le caractère précédent doit être trouvé au moins

n fois et ou plus

var modele=/10{1,}/; //recherche un nombre de 10 à 10n

[...] Les crochets contiennent des caractères, dont l'un doit être trouvé

var modele=/parti[res]?/;

//recherche l'un des mots suivants: parti, partir, partie ou partis [...-...]

Les crochets contiennent une plage de caractères dont l'un doit être trouvé

var modele=/[a-b]/; //recherche un caractère faisant partie des lettres minuscules [^...]

La recherche porte sur des caractères qui ne sont pas contenus entre les crochets

var modele=/exécut[^(ion)]/; //ne recherche pas le mot exécution mais exécuta ou exécuter, etc. [\b]

Le caractère recherché est un espace blanc var modele=/[\b]\./; //recherche un espace avant un point

La recherche s'effectue sur les limites d'un mot comme un espace ou une nouvelle ligne

//recherche la lettre x suivie d'un espace ou d'un saut de ligne comme peaux, sceaux mais pas exiger \B

La recherche s'effectue sur un espace qui n'est pas placé entre un mot et un espace

var modele=/x/B/; //recherche la lettre x

qui n'est pas suivie d'un espace ou d'un saut de ligne comme xylophone ou axe mais pas eux \cX Où X est un caractère de contrôle. La recherche

porte sur un caractère de contrôle dans une chaîne de caractères

var modele=/\cA/; //recherche un caractère de contrôle control-A \d La recherche s'effectue sur un chiffre quelconque

de 0 à 9

var modele=/\d000/; //recherche un nombre comme 1000, 2000, etc. \D

La recherche porte sur un caractère quelconque hormis un chiffre de 0 à 9

var modele=/10\D10/; //recherche une chaîne de caractère comme 10,10 ou 10.10 ou encore 10=10 \f

La recherche porte sur un saut de page var modele=/\f/; //recherche un saut de page \n La recherche porte sur un caractère de saut de

ligne

var modele=/\.\n/; //recherche un saut de ligne après un point \r

La recherche porte sur un retour charriot var modele=/\.\r/; //recherche un

retour charriot après un point \s Cette occurrence permet une recherche sur un

espace, une tabulation, un saut de ligne, etc.

var modele=/\s/; //recherche un de ces caractères [\f\n\r\t\v]. \S La recherche porte sur tous les caractères

hormis, l'espace, la tabulation, le saut de ligne, etc.

var modele=/\S/; //recherche tous les

caractères sauf ceux-ci [^\f\n\r\t\v]. \t La recherche porte sur une tabulation var modele=/\t/;

//recherche une tabulation \v

La recherche porte sur un tabulation verticale var modele=/\v/; //recherche une tabulation verticale \w

La recherche porte sur tous caractères faisant partie d'un mot

var modele=/\ws[\b]/; //recherche la lettre s

entre un caractère [A-Za-z0-9_] et un espace

\W La recherche porte sur tous caractères ne faisant pas partie d'un mot

var modele=/\W/; //recherche un caractère sauf ceux-ci [^A-Za-z0-9_] /(...)...\n/

Le nombre n permet de répéter le contenu entre parenthèses à l'endroit où il se situe

var modele=/(["']réussite\1)/; //recherche du mot réussite entre guillemets simples ou

74 sur 270 04/09/2005 22:21

6.5 / Les méthodes et les objets

Les expressions régulières sont utilisées avec les méthodes de RegExp, c'est-à-dire test et exec et avec les méthodes de chaîne de caractères replace, match, search, et split.

Méthode Description

Exemple

exec Une méthode qui exécute une recherche pour une expression régulière dans une chaîne de caractères et retourne un tableau d'information.

var modele=/mot/;

var texte="Exécution d'une recherche sur un mot"; var tableau=modele.exec(texte);

document.write(tableau);

test Une méthode qui teste l'expression régulière dans une chaîne de caractères et renvoie true ou false.

var modele=/mot/;

var texte="Cette méthode teste si un mot se trouve dans la chaîne de caractère"; if(modele.test(texte)) {

document.write("Le test est positif !"); } else {

document.write("Le test est négatif !"); };

match Une méthode qui exécute une recherche pour une expression régulière dans une chaîne de caractères et retourne un tableau d'information ou la valeur null en cas d'échec.

var modele=/mot/;

var texte="Encore une exécution d'une recherche sur un mot"; document.write(modele.match(texte));

search Une méthode qui teste l'expression régulière dans une chaîne de caractères et renvoie un index des expressions trouvées ou -1 si la recherche échoue.

var modele=/mot/;

var texte="Un mot est recherché dans ce texte"; document.write(texte.search(modele));

replace Une méthode qui exécute une recherche pour une expression régulière dans une chaîne de caractères et remplace une occurrence de la chaîne de caractère par une autre.

var modele=/expressions\srégulières/;

var texte="Comment remplacer un mot avec les expressions régulières"; document.write(texte.replace(modele, "regular expression"));

split Une méthode qui utilise une expression régulière dans le but de fractionner une chaîne de caractères.

var mois="janvier, février, mars"; document.write(mois.split(/,\s/)[0]+ "\n"); document.write(mois.split(/,\s/)[1]+ "\n"); document.write(mois.split(/,\s/)[2]+ "\n");

Documents relatifs